zabbix自身包含很多的监控模板,而各个模板又包含了各种各样的监控项。但是,总会有我们想要的,而zabbix自身又没有的监控项,这时,就要在zabbix添加自定义的监控项了。
zabbix想要添加自定义的监控项,有3个步骤:
1. 在agent端编写监控命令或监控脚本
2. 修改agent端的zabbix-agent的配置文件,将监控命令或监控脚本加进去。
3. 在server端添加新监控项。
比如:我们想要监控一台Linux上的apache或nginx,或者其他程序是否运行。如果是只监控apache或nginx,那么不用创建新的监控项,原来自带的监控web就可以用,但如果是其他程序,自带的就无能为力了。
1. 在agent端编写监控命令或监控脚本
1)命令
ps aux | grep httpd | grep -v grep | wc -l
2) 脚本
vim /etc/zabbix/zabbix_agentd.d/check_soft.conf
添加:UserParameter=check_httpd,ps -ef | grep httpd | grep -v grep | wc -l
#逗号后面的命令可以改为一个绝对路径的脚本名,比如:/bin/bash check_httpd.sh
2. 修改agent端的zabbix-agent的配置文件,将监控命令或监控脚本加进去。
1) 命令
在agent端
vim /etc/zabbix/zabbix_agentd.conf
查找UserParameter
在下面增加一行
UserParameter=check_httpd,ps -ef | grep httpd | grep -v grep | wc -l
#check_httpd 是键值,有唯一性。 后面是命令,中间用逗号隔开。
保存退出
service` zabbix-agent restart
2)脚本
vim /etc/zabbix/zabbix_agentd.conf
查找一行“Include=/etc/zabbix/zabbix_agentd.d/*.conf” ,如果有则不用动,没有的话,添加这一行。
#这是yum安装的路径,如果是编译安装的路径,则是 Include=/usr/local/zabbix/zabbix_agentd.d/*.conf
3. 在server端添加新监控项。
1) 测试连接
zabbix_get -s 10.0.0.47 -k "check_httpd"
2) 添加到zabbix的客户端监控项中。
配置 -> 主机 -> "客户端主机名“那一行的监控项 -> 创建监控项
名称可以随意,键值为check_httpd,其他默认即可。
保存后,出现新的监控项。
在 监控中 -> 最新数据 中可以筛选查看创建的监控项和图像。