zabbix部署

zabbix介绍

1.zabbix是一个机遇web界面的提供分布式系统监控的企业级开源解决方案。

zabbix能监控各种网络参数,并提供灵活的通知机制以让运维人员快速定位并解决存在的各种问题。

Zabbix监控的优点:
  1)自动发现服务器和网络设备
  2)底层自动发现(如自动发现多实例mysql、tomcat进程等)
  3)分布式的监控体系和集中式的web管理
  4)支持主动监控和被动监控模式
  5)支持多种操作系统linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD等
  6)高效的Agent支持linux,Solaris,HP-UX,AIX,FreeBSD,OpenBSD,windows NT4.0,window2000等
  7)无Agent监控等多种监控方法(如:用SNMP协议监控路由或交换机、IPMI检测硬件温度等)
  8)安全的用户认证模式
  9)灵活的用户权限设置
  10)基于web的管理方法,支持自由的定义事件和邮件发送
  11)高水平的业务视图监控资源,支持日志审计

缺点:
  1)性能瓶颈,监控系统没有低估高峰期,具有持续性和周期性,机器量越大,数据的增大会使数据库的写入成为一定的瓶颈,官网给出的单机上限5000台,届时就需要增加proxy,增加成本。
  2)Zabbix采集数据有pull方式,也就是server主动模式,当目标机器量大之后,pull任务会出现积压。采集数据会延迟
  3)项目二次开发,需要分析MySQL表结构,表结构比较复杂,通过API开发对开发能力有要求。
  4)内置housekeeping在执行过程中会对数据库增加压力,需要对数据库进行优化

2.zabbix监控的组件

完整的zabbix分布式监控系统,由以下几个组件构成:
zabbix server:负责接收agent发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行;
database storage:专用于存储所有配置信息,以及由zabbix收集的数据;
web interface:zabbix的GUI接口,通常与server运行在同一台主机上;
proxy:可选组件,常用于分布监控环境中,代理server收集部分被监控端的监控数据并统一发往Server端;
zabbix agent:部署在被监控主机上,负责收集本地数据并发往server或proxy端;
zabbix配置文件

zabbix配置文件

zabbix配置文件有两种:
      ☆服务器端配置文件(/usr/local/etc/zabbix_server.conf)
      ☆客户端配置文件(/usr/local/etc/zabbix_agentd.conf)
      ☆zabbix代理配置文件(/usr/local/etc/zabbix_proxy.conf)

服务器端配置文件zabbix_server.conf常用配置参数:

参数作用
LogFile设置服务端日志文件存放路径
ListenIP设置服务端监听IP
ListenPort设置服务端监听的端口号
PidFile设置服务端进程号文件存放路径
DBHost指定zabbix的数据库服务器IP
DBName指定zabbix使用的数据库库名
DBUser指定zabbix数据库登录用户
DBPassword指定zabbix数据库登录密码
DBPort指定zabbix数据库端口号
User设置zabbix以什么用户的身份运行
AlertScriptsPath设置告警脚本存放路径
ExternalScripts外部脚本存放路径

部署zabbix

环境说明:

系统IP所需应用
CentOS7(服务端)192.168.222.128lamp架构、zabbix server、zabbix agent
CentOS7(客户端)192.168.222.129zabbix agent

`因为zabbix是用php语言开发的,所以必须先部署lamp架构,使其能够支持运行php网页
lamp架构部署可看:LAMP部署LAMP分离部署

zabbix服务端安装

//安装依赖包
[root@WangJiayue ~]# yum -y install net-snmp-devel libevent-devel

//下载zabbix
[root@WangJiayue ~]# cd /usr/src/
[root@WangJiayue src]# wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.2.tar.gz
--2020-07-14 01:26:31--  https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.2.tar.gz
Resolving cdn.zabbix.com (cdn.zabbix.com)... 172.67.179.162, 104.31.68.176, 104.31.69.176, ...
Connecting to cdn.zabbix.com (cdn.zabbix.com)|172.67.179.162|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 18823956 (18M) [application/octet-stream]
Saving to: ‘zabbix-5.0.2.tar.gz’

100%[====================================================>] 18,823,956   357KB/s   in 36s    

2020-07-14 01:27:25 (506 KB/s) - ‘zabbix-5.0.2.tar.gz’ saved [18823956/18823956]

//解压
[root@WangJiayue src]# tar xf zabbix-5.0.2.tar.gz 

//创建zabbix用户和组
[root@WangJiayue ~]# groupadd -r zabbix
[root@WangJiayue ~]# useradd -r -g zabbix -M -s /sbin/nologin zabbix

//配置zabbix数据库
[root@WangJiayue ~]# mysql -uroot -pwang123!
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.30 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.55 sec)

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix123!';
Query OK, 0 rows affected, 2 warnings (0.43 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> quit
Bye


[root@WangJiayue ~]# cd /usr/src/zabbix-5.0.2/database/mysql/
[root@WangJiayue mysql]# ls
data.sql  double.sql  images.sql  Makefile.am  Makefile.in  schema.sql
[root@WangJiayue mysql]# mysql -uzabbix -pzabbix123! zabbix < schema.sql 
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@WangJiayue mysql]# mysql -uzabbix -pzabbix123! zabbix < images.sql 
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@WangJiayue mysql]# mysql -uzabbix -pzabbix123! zabbix < data.sql 
mysql: [Warning] Using a password on the command line interface can be insecure.

//编译安装zabbix
[root@WangJiayue mysql]# cd /usr/src/zabbix-5.0.2
[root@WangJiayue zabbix-5.0.2]#  ./configure --enable-server \
> --enable-agent \
> --with-mysql \
> --with-net-snmp \
> --with-libcurl \
> --with-libxml2

[root@WangJiayue zabbix-5.0.2]# make install

zabbix服务端配置

[root@WangJiayue ~]# ls /usr/local/etc/
zabbix_agentd.conf  zabbix_agentd.conf.d  zabbix_server.conf  zabbix_server.conf.d

//修改服务端配置文件
//设置数据库信息
[root@WangJiayue ~]# vim /usr/local/etc/zabbix_server.conf
....
DBPassword=zabbix123!       //设置zabbix数据库连接密码

//启动zabbix_server和zabbix_agentd
[root@WangJiayue ~]# zabbix_server
[root@WangJiayue ~]# zabbix_agentd 
[root@WangJiayue ~]# ss -antl
State      Recv-Q Send-Q  Local Address:Port                 Peer Address:Port              
LISTEN     0      128                 *:10050                           *:*                  
LISTEN     0      128                 *:10051                           *:*                  
LISTEN     0      128         127.0.0.1:9000                            *:*                  
LISTEN     0      128                 *:22                              *:*                  
LISTEN     0      100         127.0.0.1:25                              *:*                  
LISTEN     0      80               [::]:3306                         [::]:*                  
LISTEN     0      128              [::]:80                           [::]:*                  
LISTEN     0      128              [::]:22                           [::]:*                  
LISTEN     0      100             [::1]:25                           [::]:*   

zabbix服务端web界面安装与配置

zabbix web界面安装前配置

//修改/etc/php.ini的配置并重启php-fpm
[root@WangJiayue ~]# sed -ri 's/(post_max_size =).*/\1 16M/g' /etc/php.ini
[root@WangJiayue ~]# sed -ri 's/(max_execution_time =).*/\1 300/g' /etc/php.ini
[root@WangJiayue ~]# sed -ri 's/(max_input_time =).*/\1 300/g' /etc/php.ini
[root@WangJiayue ~]# sed -i '/;date.timezone/a date.timezone = Asia/Shanghai' /etc/php.ini
[root@WangJiayue ~]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm  done

[root@WangJiayue ~]# cd /usr/src/zabbix-5.0.2
[root@WangJiayue zabbix-5.0.2]# ls
aclocal.m4  ChangeLog     config.log     configure.ac  include     Makefile     misc     sass
AUTHORS     compile       config.status  COPYING       INSTALL     Makefile.am  missing  src
bin         conf          config.sub     database      install-sh  Makefile.in  NEWS     ui
build       config.guess  configure      depcomp       m4          man          REA
[root@WangJiayue zabbix-5.0.2]# mkdir /usr/local/apache/htdocs/zabbix
[root@WangJiayue zabbix-5.0.2]# cp -a ui/* /usr/local/apache/htdocs/zabbix/
[root@WangJiayue zabbix-5.0.2]# chown -R apache.apache /usr/local/apache/htdocs/


//配置apache虚拟主机
[root@WangJiayue ~]# vim /etc/httpd24/httpd.conf
//在配置文件的末尾加如下内容
<VirtualHost *:80>
   DocumentRoot "/usr/local/apache/htdocs/zabbix"
   ServerName zabbix.wangqing.com
   ProxyRequests Off
   ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/zabbix/$1
   <Directory "/usr/local/apache/htdocs/zabbix">
       Options none
       AllowOverride none
       Require all granted
   </Directory>
</VirtualHost>

//设置zabbix/conf目录的权限,让zabbix有权限生成配置文件zabbix.conf.php
[root@WangJiayue ~]# chmod 777 /usr/local/apache/htdocs/zabbix/conf
[root@WangJiayue ~]# ll -d /usr/local/apache/htdocs/zabbix/conf
drwxrwxrwx. 3 apache apache 94 Jul  6 05:54 /usr/local/apache/htdocs/zabbix/conf

//重启apache
[root@WangJiayue ~]#  apachectl -t
Syntax OK
[root@WangJiayue ~]# apachectl stop
[root@WangJiayue ~]# apachectl start
[root@WangJiayue ~]# ss -antl
State      Recv-Q Send-Q  Local Address:Port                 Peer Address:Port              
LISTEN     0      128                 *:10050                           *:*                  
LISTEN     0      128                 *:10051                           *:*                  
LISTEN     0      128         127.0.0.1:9000                            *:*                  
LISTEN     0      128                 *:22                              *:*                  
LISTEN     0      100         127.0.0.1:25                              *:*                  
LISTEN     0      80               [::]:3306                         [::]:*                  
LISTEN     0      128              [::]:80                           [::]:*                  
LISTEN     0      128              [::]:22                           [::]:*                  
LISTEN     0      100             [::1]:25                           [::]:*    

安装zabbix web完

在这里插入图片描述
恢复zabbix/conf目录的权限为755:

[root@WangJiayue ~]# chmod 755 /usr/local/apache/htdocs/zabbix/conf
[root@WangJiayue ~]# ll -d /usr/local/apache/htdocs/zabbix/conf
drwxr-xr-x. 3 apache apache 117 Jul 16 03:58 /usr/local/apache/htdocs/zabbix/conf

登录zabbix

zabbix默认登录用户和密码

用户名密码
Adminzabbix

zabbix客户端安装

//安装软件包
[root@WangJiayue ~]# yum -y install gcc gcc-c++ vim wget pcre-devel

//下载zabbix
[root@WangJiayue ~]# cd /usr/src/
[root@WangJiayue src]# wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.2.tar.gz

//解压
[root@WangJiayue src]# tar xf zabbix-5.0.2.tar.gz 

//创建zabbix用户和组
[root@WangJiayue ~]# groupadd -r zabbix
[root@WangJiayue ~]# useradd -r -g zabbix -M -s /sbin/nologin zabbix

//编译安装zabbix
[root@WangJiayue src]# cd /usr/src/zabbix-5.0.2
[root@WangJiayue zabbix-5.0.2]# ./configure --enable-agent
[root@WangJiayue zabbix-5.0.2]# make install

zabbix客户端配置

[root@WangJiayue ~]# cd /usr/local/etc/
[root@WangJiayue etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d

[root@WangJiayue etc]# vim zabbix_agentd.conf
#Mandatory: yes, if StartAgents is not explicitly set to 0
#Default:
#Server=

Server=192.168.222.128      //修改IP指向服务端

#Mandatory: no
#Default:
#ServerActive=

ServerActive=192.168.222.128   //修改IP指向服务端

#Mandatory: no
#Default:
#Hostname=

Hostname=123   //修改主机名  这里的007只是代号,请随意!!!



//启动zabbix
[root@WangJiayue ~]# zabbix_agentd 
[root@WangJiayue ~]# ss -antl
State      Recv-Q Send-Q  Local Address:Port                 Peer Address:Port              
LISTEN     0      128                 *:10050                           *:*                  
LISTEN     0      128                 *:22                              *:*                  
LISTEN     0      100         127.0.0.1:25                              *:*                  
LISTEN     0      128              [::]:22                           [::]:*                  
LISTEN     0      100             [::1]:25                           [::]:*               

配置zabbix监控

新建主机组

在这里插入图片描述在这里插入图片描述在这里插入图片描述

添加主机并加入主机组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
//添加的主机可以再下面看到

添加监控模板

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加手动监控项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加触发器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述添加成功

在这里插入图片描述

添加媒介

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加动作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

触发

在这里插入图片描述
在这里插入图片描述

zabbix脚本告警

[root@WangJiayue ~]# cd /usr/local/etc/
[root@WangJiayue etc]# ls
zabbix_agentd.conf  zabbix_agentd.conf.d  zabbix_server.conf  zabbix_server.conf.d
[root@WangJiayue etc]# vim zabbix_server.conf

#Mandatory: no
#Default:
#AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/local/etc/zabbix/alertscripts  //添加一行

[root@WangJiayue etc]# mkdir -p /usr/local/etc/zabbix/alertscripts
[root@WangJiayue alertscripts]# vim sendmail.sh
#!/bin/bash

SUBJECT=$(echo -e $2 |tr "\r\n" "\n")
MESSAGE=$(echo -e $1 |tr "\r\n" "\n")

echo "$MESSAGE" | /usr/bin/mail -s "$SUBJECT" $3

[root@WangJiayue alertscripts]# chmod +x sendmail.sh
[root@WangJiayue ~]# chown -R zabbix.zabbix /usr/local/etc/zabbix
[root@WangJiayue ~]# ll /usr/local/etc/zabbix
total 0
drwxr-xr-x 2 zabbix zabbix 25 Jul 20 00:06 alertscripts
[root@WangJiayue ~]# pkill zabbix
[root@WangJiayue ~]# zabbix_server 
[root@WangJiayue ~]# zabbix_agentd 
[root@WangJiayue ~]# ss -antl
State      Recv-Q Send-Q  Local Address:Port                 Peer Address:Port              
LISTEN     0      128         127.0.0.1:9000                            *:*                  
LISTEN     0      128                 *:22                              *:*                  
LISTEN     0      100         127.0.0.1:25                              *:*                  
LISTEN     0      128                 *:10050                           *:*                  
LISTEN     0      128                 *:10051                           *:*                  
LISTEN     0      80               [::]:3306                         [::]:*                  
LISTEN     0      128              [::]:80                           [::]:*                  
LISTEN     0      128              [::]:22                           [::]:*                  
LISTEN     0      100             [::1]:25                           [::]:*           

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@WangJiayue ~]# cd /usr/local/etc/
[root@WangJiayue etc]# su - zabbix -s /bin/bash
su: warning: cannot change directory to /home/zabbix: No such file or directory
-bash-4.2$ cd /usr/local/etc/zabbix/alertscripts/
-bash-4.2$ ls
sendmail.sh
-bash-4.2$ ./sendmail.sh '111' '222' 1309380789@qq.com

第三方邮件发送告警

[root@WangJiayue ~]# vim /etc/mail.rc
set from=1309380789@qq.com
set smtp="smtp.qq.com"
set smtp-auth-user=1309380789@qq.com
set smtp-auth-password=pnewfaqoyhzobcie
set smtp-auth=login
[root@WangJiayue ~]# /usr/local/etc/zabbix/alertscripts/sendmail.sh 234 456 1309380789@foxmail.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值