zabbix自定义监控进程与日志
1:zabbix自定义监控进程
安装httpd服务
[root@agent1 ~]# yum -y install httpd
[root@agent1 ~]# systemctl restart httpd
[root@agent1 ~]# systemctl enable --now httpd
创建一个检测服务是否启动的脚本
[root@agent1 ~]# mkdir /etc/zabbix/script
[root@agent1 ~]# cd /etc/zabbix/script
[root@agent1 script]# vim check_httpd.sh
[root@agent1 script]# cat check_httpd.sh
#!/bin/bash
count=$(ps -ef | grep -Ev "grep|$0" | grep -c httpd)
if [ $count -eq 0 ];then
echo '1'
else
echo '0'
fi
[root@agent1 script]# chown zabbix.zabbix /etc/zabbix/script/ -R
[root@agent1 script]# chmod +x check_httpd.sh
测试
[root@agent1 script]# ./check_httpd.sh
0
[root@agent1 script]# systemctl stop httpd.service
[root@agent1 script]# ./check_httpd.sh
1
创建自定义键值
[root@agent1 ~]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=check_httpd,/bin/bash /etc/zabbix/script/check_httpd.sh
[root@agent1 ~]# systemctl restart zabbix-agent.service
进入zabbix平台创建监控项
配置触发器
将httpd服务停止查看是否告警
[root@agent1 ~]# systemctl stop httpd.service
此处由于我配置了邮箱告警所以我能收到邮件
将httpd服务恢复查看
[root@agent1 ~]# systemctl start httpd.service
2:自定义监控日志
在做这个之前我们需要log.py来协助我们进行测试 将log.py上传到/etc/zabbix/script/目录下,然后给执行权限,修改所有者和所属组为zabbix
[root@agent1 script]# ls
check_httpd.sh log.py
[root@agent1 script]# chown zabbix.zabbix log.py
[root@agent1 script]# chmod +x log.py
httpd的日志文件在/var/log/httpd/下面,我们需要给zabbix权限
[root@agent1 script]# setfacl -m u:zabbix:r-x /var/log/httpd/
[root@agent1]# setfacl -m u:zabbix:rwx /tmp/logseek
[root@agent1 script]# getfacl /var/log/httpd/
getfacl: Removing leading '/' from absolute path names
# file: var/log/httpd/
# owner: root
# group: root
user::rwx
user:zabbix:r-x
group::---
mask::r-x
other::---
log.py需要python来执行所以我们下载python3
[root@agent1 script]# yum -y install python3
修改配置文件创建自定义键值
[root@agent1 script]# vim /etc/zabbix/zabbix_agentd.conf
UserParameter=check_log[*],/usr/bin/python3 /etc/zabbix/script/log.py $1 $2 $3
[root@agent1 script]# systemctl restart zabbix-agent.service
测试脚本是否能应用
[root@agent1 script]# python3 log.py /var/log/httpd/error_log /tmp/logseek Error
0
[root@agent1 script]# echo 'Error' >> /var/log/httpd/error_log
[root@agent1 script]# python3 log.py /var/log/httpd/error_log /tmp/logseek Error
1
回到zabbix平台配置监控项
创建触发器
向/var/log/httpd/error_log日志文件里追加error进行测试
[root@agent1 tmp]# echo 'error' >> /var/log/httpd/error_log
删除error
[root@agent1 tmp]# vim /var/log/httpd/error_log
|