zabbix自定义监控
1、自定义监控进程
//监控httpd的进程,首先yum安装httpd服务
[root@zabbix ~]# yum -y install httpd
//在客户端更改配置文件
[root@zabbix ~]# vim /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1
UserParameter=check_process[*],/bin/bash /scripts/check_process.sh $1//在文件最后添加改内容
//重启服务,生效配置
[root@zabbix ~]# pkill zabbix
[root@zabbix ~]# zabbix_agentd
[root@zabbix ~]# ss -anlt|grep 10050
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
//客户端编写脚本文件
[root@zabbix ~]# mkdir /scripts
[root@zabbix ~]# cd /scripts/
[root@zabbix scripts]# vim check_process.sh
[root@zabbix scripts]# cat check_process.sh
#!/bin/bash
count=$(ps -ef | grep -Ev "grep|$0" | grep $1|wc -l)
if [ $count -eq 0 ];then
echo '1'
else
echo '0'
fi
[root@zabbix scripts]# chmod +x check_httpd.sh
//服务端检查key是否可用
[root@zabbix ~]# zabbix_get -s 192.168.174.170 -k check_process[httpd]
0
[root@zabbix ~]# zabbix_get -s 192.168.174.170 -k check_process[mysql]
1
添加监控项
添加触发器
关闭httpd服务,手动触发报警
[root@zabbix ~]# systemctl stop httpd
发送邮件
查看邮件
2、自定义监控日志
日志脚本连接:https://github.com/chendao2015/pyscripts/blob/master/log.py
编写脚本
//由于是python脚本,还需按照python环境
[root@zabbix ~]# dnf -y install python36
[root@zabbix ~]# vim /scripts/log.py
[root@zabbix ~]# chmod +x /scripts/log.py
这里使用的还是httpd的错误日志来监控
//在客户端更改agentd配置文件
[root@zabbix ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_logs[*],/scripts/log.py $1 $2 $3
//重启服务,使配置文件生效
[root@zabbix ~]# pkill zabbix
[root@zabbix ~]# zabbix_agentd
//因为/var/log/httpd目录没有执行权限,我们需要给他添加权限
[root@zabbix ~]# ll -d /var/log/httpd/
drwx------ 2 root root 41 Sep 6 16:54 /var/log/httpd/
[root@zabbix ~]# chmod 755 /var/log/httpd/
[root@zabbix ~]# ll /var/log/httpd/
total 4
-rw-r--r-- 1 root root 0 Sep 6 16:54 access_log
-rw-r--r-- 1 root root 827 Sep 6 17:53 error_log
//给httpd的error日志,添加一个错误信息
[root@zabbix ~]# echo "Error123456" >> /var/log/httpd/error_log
//在服务端检测key是否可用
[root@zabbix ~]# zabbix_get -s 192.168.174.170 -k check_logs[/var/log/httpd/error_log]
0
[root@zabbix ~]# zabbix_get -s 192.168.174.170 -k check_logs[/var/log/httpd/error_log]
1
添加监控项
添加触发器
手动添加错误日志,触发报警
[root@zabbix ~]# echo "Error" >> /var/log/httpd/error_log
发送邮件
查看邮件信息
3.自定义监控MySQL主从状态
首先配置mysql主从,这里我已经配置好了
主从同步完成
[root@zabbix ~]# mysql -uroot -p20021020 -e " show slave status\G"
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.174.168
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql_bin.000001
Read_Master_Log_Pos: 328
Relay_Log_File: myrelay.000002
Relay_Log_Pos: 555
Relay_Master_Log_File: mysql_bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
我们需要监控的就是I/O和SQL线程
配置监控脚本
//在被监控端,也就是从库,首先修改配置文件
[root@zabbix ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_mysql_status,/bin/bash /scripts/mysql_status.sh
//重启服务生效配置
[root@zabbix ~]# pkill zabbix_agentd
[root@zabbix ~]# zabbix_agentd
//编写脚本
[root@zabbix ~]# vim /scripts/mysql_status.sh
[root@zabbix ~]# cat /scripts/mysql_status.sh
#!/bin/bash
yes=$(mysql -uroot -p20021020 -e " show slave status\G" 2> /dev/null |grep "Running:"|grep -c "Yes")
if [ $yes == 2 ]; then
echo "0"
else
echo "1"
fi
//在服务端检查key是否可用
[root@zabbix ~]# zabbix_get -s 192.168.174.170 -k check_mysql_status
0
添加监控项
添加触发器
手动触发报警
[root@master ~]# mysql -uroot -p20021020 -e "stop slave;"
4.自定义监控MySQL延迟
配置监控脚本
监控延迟,我们需要关注 Seconds_Behind_Master这一项
//在被监控端,也就是从库,首先修改配置文件
[root@zabbix ~]# vim /usr/local/etc/zabbix_agentd.conf
UserParameter=check_mysqlyc,/bin/bash /scripts/mysqlyc.sh
//重启服务生效配置
[root@zabbix ~]# pkill zabbix_agentd
[root@zabbix ~]# zabbix_agentd
//编写脚本
[root@zabbix ~]# vim /scripts/mysqlyc.sh
[root@zabbix ~]# cat /scripts/mysqlyc.sh
#!/bin/bash
yc=$(mysql -uroot -p20021020 -e "show slave status\G" 2> /dev/null |awk '/Seconds_Behind_Master/ {print $2}')
echo $yc
[root@zabbix ~]# chmod +x /scripts/mysqlyc.sh
//去服务端检查key是否可用
[root@zabbix ~]# zabbix_get -s 192.168.174.170 -k check_mysqlyc
0
添加监控项
添加触发器
触发报警
存中…(img-Y4YBcdAD-1662564765078)]
[外链图片转存中…(img-hQH3uJs8-1662564765078)]
[外链图片转存中…(img-58RuyjBB-1662564765079)]
[外链图片转存中…(img-DrzQ0J7h-1662564765079)]
触发报警
[外链图片转存中…(img-D5ZKhjql-1662564765079)]
本文含有隐藏内容,请 开通VIP 后查看