自定义监控httpd进程
[root@agent ~]# cd /usr/local/etc/
[root@agent etc]# ls
zabbix_agentd.conf zabbix_agentd.conf.d
[root@agent etc]# vim zabbix_agentd.conf
UnsafeUserParameters=1 //搜索Parameters
# 用法: UserParameter=<key>,<shell command>
UserParameter=check_process_httpd,/bin/bash /scropts/check_process.sh
[root@agent ~]# pkill zabbix
[root@agent ~]# zabbix_agentd
[root@agent ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
[root@agent ~]# systemctl start httpd.service
[root@agent ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor pr>
Active: active (running) since Sat 2022-07-10 12:03:51 CST; 7s ago
Docs: man:httpd.service(8)
Main PID: 1309336 (httpd)
[root@agent ~]# ps -ef | grep httpd
root 1309336 1 0 12:03 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1309337 1309396 0 12:03 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1309338 1309396 0 12:03 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1309339 1309396 0 12:03 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 1309340 1309396 0 12:03 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
root 1328861 1291508 0 12:07 pts/5 00:00:00 grep --color=auto httpd
[root@agent ~]# ps -ef | grep -v grep| grep -c httpd httpd
编写脚本
[root@agent etc]# mkdir /scropts
[root@agent etc]# cd /scropts/
[root@agent scropts]# vim check_process.sh
[root@agent scropts]# cat check_process.sh
#!/bin/bash
count=$(ps -ef | grep -v grep| grep -c httpd)
if [ $count -ne 5 ];then
echo '1'
fi
[root@agent scropts]# chmod +x check_process.sh
[root@agent scropts]# ll
总用量 4
-rwxr-xr-x. 1 root root 101 July 10 12:12 check_process.sh
[root@agent ~]# systemctl stop httpd.service
[root@agent ~]# ps -ef | grep -v grep| grep -c httpd
0
[root@agent scropts]# bash check_process.sh
1
[root@server ~]# zabbix_get -s 192.168.80.22 -k check_process_httpd
1
为客户端添加监控项
添加触发器
[root@agent scropts]# cat check_process.sh
#!/bin/bash
count=$(ps -ef | grep -Ev "grep|$0" | grep -c $1)
if [ $count -eq 0 ];then 0
echo '1'
else
echo '0'
fi
测试
[root@agent scropts]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor pr>
Active: inactive (dead)
Docs: man:httpd.service(8)
[root@agent scropts]# bash check_process.sh httpd
1
修改文件zabbix_agentd.conf.d
[root@agent ~]# cd /usr/local/etc/
[root@agent etc]# ls
zabbix_agentd.conf zabbix_agentd.conf.d
[root@agent etc]# vim zabbix_agentd.conf
UserParameter=check_process[*],/bin/bash /scropts/check_process.sh $1
[root@agent etc]# pkill zabbix
[root@agent etc]# zabbix_agentd
修改监控项
自定义监控日志
[root@agent scropts]# chmod +x log.py
[root@agent scropts]# ll
总用量 8
-rwxr-xr-x. 1 root root 124 July 10 13:17 check_process.sh
-rwxr-xr-x. 1 root root 1854 July 10 13:15 log.py
[root@agent httpd]# setfacl -m u:zabbix:rx /var/log//httpd
[root@agent httpd]# 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::---
测试脚本
[root@agent ~]# yum install python3 -y //安装python
[root@agent scropts]# python3 log.py /var/log/httpd/error_log
0
[root@agent scropts]# echo 'Error' >> /var/log/httpd/error_log
[root@agent scropts]# python3 log.py /var/log/httpd/error_log
1
[root@agent scropts]# python3 log.py /var/log/httpd/error_log 打印0
0
[root@agent scropts]# cat /tmp/logseek
3851[root@agent scropt
[root@agent scropts]# python3 log.py /var/log/httpd/error_log //执行脚本
0
[root@agent scropts]# cat /tmp/logseek
3873[root@agent scropts]#
[root@agent scropts]# ll /tmp/logseek
-rw-r--r--. 1 root root 4 July 10 13:07 /tmp/logseek
[root@agent scropts]# rm -rf /tmp/logseek
[root@agent etc]# vim zabbix_agentd.conf
UserParameter=check_logs[*],/usr/bin/python3 /scropts/log.py $1 $2 $3
[root@agent ~]# pkill zabbix_agentd
[root@agent ~]# zabbix_agentd
[root@agent ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 5 127.0.0.1:631 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*