zabbix 监控服务
Linux System Environment
[root@nginx01 ~]# cat /etc/redhat-release #==》系统版本
CentOS Linux release 7.5.1804 (Core)
[root@nginx01 ~]# uname –r #==》内核版本
3.10.0-862.el7.x86_64
[root@nginx01 ~]# uname -m #==》系统架构
x86_64
[root@nginx01 ~]# echo $LANG #==》系统字符集
en_US.UTF-8
[root@zabbix ~]# zabbix_server -V #==》zabbix版本
zabbix_server (Zabbix) 4.0.12
Zabbix简介
Zabbix是一款基于WEB界面的提供分布式系统监视以及网络监视功能的开源监控软件。Zabbix由zabbix server(服务端,默认端口10051)和可选组件zabbix agent(客户端,默认端口10050)2部分组成。Zabbix通过SNMP协议(默认161端口)监控各种网络服务、网络硬件设备的状态。
Zbbix主要监控类型
1.硬件监控 路由器、交换机、防火墙等
2.系统监控 CPU、内存、磁盘、网络、进程、 TCP等
3.服务监控 nginx、 php、 tomcat、 redis、 memcache、 mysql等
4.WEB 监控 请求时间、响应时间、加载时间等
5.日志监控 ELk(收集、存储、分析、展示)
6.安全监控 Firewalld、 WAF(Nginx+lua)、安全宝、牛盾云、安全狗等
7.网络监控 smokeping 多机房
8.流量监控 监控网卡进/出流量
一、zabbix安装
标注:zabbix官方安装操作说明
https://www.zabbix.com/documentation/4.0/manual/installation/install_from_packages/rhel_centos
1、配置阿里云yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache
2、安装MySQL数据库
[root@test yum.repos.d]# rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
[root@test yum.repos.d]# yum -y install yum-utils
[root@test yum.repos.d]# yum-config-manager --enable mysql57-community
[root@test yum.repos.d]# yum-config-manager --disable mysql80-community
[root@test yum.repos.d]# yum repolist all | grep mysql
[root@zabbix ~]# yum -y install mysql-community-server
[root@zabbix ~]# systemctl start mysqld
[root@zabbix ~]# systemctl enable mysqld
[root@zabbix ~]# systemctl status mysqld
[root@zabbix ~]# grep 'temporary password' /var/log/mysqld.log
2019-09-10T12:21:39.099636Z 1 [Note] A temporary password is generated for root@localhost: li_;Mhw#.3?M
[root@zabbix ~]# mysql -uroot -p'li_;Mhw#.3?M'
mysql> set password=password("#AAAaaa111#");
mysql> flush privileges;
3、配置zabbix官方仓库源
[root@zabbix ~]# rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm
4、安装zabbix软件包
[root@zabbix ~]# yum -y install zabbix-server-mysql
[root@zabbix ~]# yum -y install zabbix-proxy-mysql
[root@zabbix ~]# yum -y install zabbix-web-mysql
5、MySQL创建zabbix数据库用户并授权
[root@zabbix ~]# mysql -uroot -p'#AAAaaa111#'
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '#AAAaaa111#';
mysql> flush privileges;
6、导入zabbix数据库
[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-mysql-4.2.8/create.sql.gz | mysql -uzabbix -p zabbix
Enter password: #==》输入MySQL数据库zabbix密码
7、编辑zabbix配置文件/etc/zabbix/zabbix_server.conf文件并修改数据库配置
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=#AAAaaa111#
8、启动zabbix并设置开机自启动
systemctl start zabbix-server.service
systemctl enable zabbix-server.service
systemctl status zabbix-server.service
9、配置Apache配置文件/etc/httpd/conf.d/zabbix.conf
[root@zabbix ~]# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
10、启动Apache服务并设置开机自启动
systemctl start httpd
systemctl enable httpd
systemctl status httpd
二、web配置zabbix服务
1、打开浏览器输入zabbix服务器地址 http://10.0.0.33/zabbix/setup.php
2、检查依赖是否存在异常
3、配置zabbix连接数据库
4、配置zabbix Server服务器信息
5、最终确认检查配置情况
6、安装成功
标注:提示已经成功安装了zabbix前端,配置文件/etc/zabbix/web/zabbix.conf.php被创建
7、登录zabbix
标注:zabbix默认登录用户Admin 密码zabbix
8、调整字符集为中文
9、修复中文乱码
标注:打开图形之后会发现语言有乱码情况,原因是缺少字体
下载字体并替换现有的字体
[root@zabbix ~]# yum -y install wqy-microhei-fonts
[root@zabbix ~]# cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/zabbix/assets/fonts/graphfont.ttf
刷新zabbix网页就显示正常
三、zabbix监控基础架构
标注:zabbix-agent客户端(数据采集)—>zabbix-server(数据分析|报警)—> 数据库(数据存储)<—zabbix web(数据展示)
四、zabbix快速监控主机
1、客户端(被监控端)安装zabbix-agent
[root@web01 ~]#rpm -ivh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@web01 ~]# yum -y install zabbix-agent
2、配置zabbix-agent
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.33 #==》zabbix监控服器IP地址
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
3、启动zabbix-agent并检查
[root@web01 ~]# systemctl start zabbix-agent.service
[root@web01 ~]# systemctl enable zabbix-agent.service
[root@web01 ~]# systemctl status zabbix-agent.service
[root@web01 ~]# ss -tlunp | grep 10050
*4、zabbix web界面添加主机 *
五、zabbix自定义监控主机
标注:监控Nginx服务状态
1、命令行实现
[root@web01 ~]# ss -tlunp | grep -c 80
1
2、编写zabbix监控文件(传参形式)
#==》创建Nginx监听状态的信息的文件
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.d/nginx_status.conf
UserParameter=nginx_status[*],ss –tlunp | grep -c $1
#==》重启zabbix-agent服务
[root@web01 ~]# systemctl restart zabbix-agent.service
3、zabbix服务器测试
[root@zabbix ~]# yum -y install zabbix-get.x86_64
[root@zabbix ~]# zabbix_get -s 10.0.0.60 -k nginx_status[80]
1
4、zabbix web端添加Nginx服务监控项
image.png5、zabbix web端将添加Nginx服务状态监控项创建图形化
image.png6、zabbix-web设置触发器
六、zabbix web邮件报警设置
1、定义发件邮件
2、定义收件邮箱
七、自定义报警信息
标注:可参数zabbix官网技术文档说明
https://www.zabbix.com/documentation/4.0/zh/manual/appendix/macros/supported_by_location
1、发送的警告信息
报警邮件标题可以使用默认信息,亦可使用如下中文报警内容
名称:Action-Email
默认标题:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
2、恢复警告信息
恢复标题:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}