Zabbix 简介 :
Zabbix 是一个高度集成的企业级开源网络监控解决方案,与Cacti、Nagios类似,提供分布式监控以及集中的 Web 管理界面。被监控对象只要支持 SNMP 协议或者运行 Zabbix_agents 代理程序即可。
总结 :
-
Zabbix 是一个企业级、开源的、分布式的监控套件,可以监控网络和服务的状态。
-
Zabbix 可以利用数据提供图形化的报告。还具有灵活的告警机制。
-
Zabbix 可以使用 Zabbix Web 管理页面进行管理配置。
-
Zabbix 自带多种监控模板可以直接使用。
本案环境 :
主机 | 操作系统 | IP地址 | 主要软件 |
---|---|---|---|
zabbix 服务机 | CentOS 7.4 | 192.168.100.144 | Zabbix 4.0.0alpha9 |
被控端 | CentOS 7.4 | 192.168.100.131 | zabbix-agent |
部署 Zabbix 服务端 :
1.关闭防火墙 :
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
2.安装 LAMP 架构(推荐手工编译) :
yum install -y \
httpd \
mariadb-server mariadb \
php \
php-mysql \
php-gd \
libjpeg* \
php-ldap \
php-odbc \
php-pear \
php-xml \
php-xmlrpc \
php-mhash
3.设置 php 时区 :
vim /etc/php.ini
date.timezone = PRC #设置中国时区
4.开启服务 :
systemctl start httpd.service
systemctl start mariadb.service
netstat -ntap | egrep '(80|3306)' #查看端口是否启动
5.进入数据库 :
[root@localhost ~]# mysql #进入数据库
......
#创建 zabbix 数据库
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
#添加权限
MariaDB [(none)]> GRANT all privileges ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges; #刷新
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> quit
Bye
[root@localhost ~]# mysql -uzabbix -padmin123 #测试zabbix能否登录数据库
6.安装 php 环境:
yum install php-bcmath php-mbstring -y
7.安装 zabbix yum 源 :
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
8.安装 zabbix-server 服务 :
yum install zabbix-server-mysql zabbix-web-mysql -y
9.导入数据库文件数据 :
[root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix #把数据导入 zabbix 数据库
Enter password: # zabbix 用户密码
10.修改 zabbix_server 配置文件 :
[root@localhost ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
38:LogFile=/var/log/zabbix/zabbix_server.log
49:LogFileSize=0
72:PidFile=/var/run/zabbix/zabbix_server.pid
82:SocketDir=/var/run/zabbix
101:DBName=zabbix
117:DBUser=zabbix
125:DBPassword=admin123 #添加访问数据库 zabbix 用户的密码
356:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
474:Timeout=4
517:AlertScriptsPath=/usr/lib/zabbix/alertscripts
528:ExternalScripts=/usr/lib/zabbix/externalscripts
564:LogSlowQueries=3000
11.修改 zabbix 配置文件 :
vim /etc/httpd/conf.d/zabbix.conf
......
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai #去注释 修改时区
</IfModule>
.......
12.启动服务 访问 http://192.168.100.144/zabbix :
systemctl start zabbix-server
systemctl restart httpd.service
netstat -anpt | grep zabbix #监听 10051 端口
配置被监控端 :
1.关闭防火墙 :
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
2.安装 zabbix 代理服务 :
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm #安装yum源
yum install -y zabbix-agent
3.修改 zabbix-agent 配置文件 :
[root@localhost ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
13:PidFile=/var/run/zabbix/zabbix_agentd.pid
32:LogFile=/var/log/zabbix/zabbix_agentd.log
43:LogFileSize=0
98:Server=192.168.100.144 #指向 zabbix 服务器
139:ServerActive=192.168.100.144 #指向 zabbix 服务器
150:Hostname=test #主机名
268:Include=/etc/zabbix/zabbix_agentd.d/*.conf
systemctl start zabbix-agent.service #开启服务
在 web 界面添加被控主机 :
配置邮件报警功能
1.在 zabbix 服务器上安装 mail 服务 :
yum install mailx -y
vi /etc/mail.rc #注意有些邮箱需要开启客户端授权码进行第三方登录
#末尾添加 zabbix 发送告警信息邮箱
set from=xxxxxx@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=xxxxx@qq.com
set smtp-auth-password=邮箱密码
set smtp-auth=login
echo "hello world" | mail -s "testmail" xxxxxx@qq.com #测试发信正常 去邮箱查看
2.编写发邮件脚本 :
cd /usr/lib/zabbix/alertscripts
vi mailx.sh //编写发邮件脚本
#!/bin/bash
#send mail
messages=`echo $3 | tr '\r\n' '\n'`
subject=`echo $2 | tr '\r\n' '\n'`
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
3.修改权限 :
touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/
4.测试脚本发送邮件 :
./mailx.sh xxxxx@139.com "主题" "内容" #测试发邮件脚本是否可以正常工作
5.在 zabbix web 上配置 :
6.测试、关闭被控端查看是否收到短信 :
收到告警信息 :
收到恢复信息 :
解决 zabbix web 界面中文乱码问题 :https://blog.csdn.net/qq_42100241/article/details/82142434