zabbix自定义监控项
监控指标
- 系统指标(内存占用cpu使用率等)
- 文件监控(文件类型内容等)
- 网络监控(网速访问量等)
- 硬件监控(通过IPMI实现)
- 业务监控(公司项目的特定进程)
以httpd为例监控进程及日志
ip |
类型 |
192.168.94.143(zabbix) |
监控端 |
192.168.94.141(node1) |
受监控端,以安装apache服务(yum) |
[root@node1 ~]# setenforce 0
[root@node1 ~]# getenforce
Permissive
[root@node1 ~]# systemctl status firewalld.service |grep dis
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
进程监控
//创建判断脚本文件
//创建脚本存放目录统一存放
[root@node1 ~]# mkdir chkps
[root@node1 ~]# cd chkps/
//创建判断脚本
[root@node1 chkps]# vim check_process.sh
#!/bin/bash
#定义count变量,取反grep命令和脚本本身,只取出传给脚本进程的数量
count=$(ps -ef|grep -Ev "grep|$0" | grep -c "$1")
#做一个判断:变量count=0则没有进程,返回值为1,如果不是则返回0
if [ $count -eq 0 ];then
echo "1"
else
echo "0"
fi
//启动进程
[root@node1 chkps]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; en>
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Wed 2021-04-28 15:22
//添加非安全用户参数
[root@node1 chkps]# vim /usr/local/etc/zabbix_agentd.conf
...
# UnsafeUserParameters=0
UnsafeUserParameters=1 //添加该行
# UserParameter=
UserParameter=check_apache,/chkps/check_process.sh httpd //添加该行定义监控物键名,脚本触发路径,传递进程参数(源码安装需要绝对路径)
//重启服务
[root@node1 chkps]# pkill zabbix
[root@node1 chkps]# zabbix_agentd
//监控端验证
# zabbix_get命令 -s指定主机,-k指定item的健
[root@node2 zabbix-5.2.6]# /usr/local/zabbix/bin/zabbix_get -s 192.168.94.141 -k check_apache
0 //返回值0,符合apache启动条件
//node1端关闭进程验证
[root@node1 chkps]# systemctl stop httpd.service
[root@node2 zabbix-5.2.6]# /usr/local/zabbix/bin/zabbix_get -s 192.168.94.141 -k check_apache
1 //返回值1,符合进程关闭状态