环境:zabbix-server和zabbix-agent
一.登录到需要自定义监控的zabbix-agent上
在zabbix-agentd.d目录下新建一个.conf的文件,使用userparameter自定义监控项,自定义一个key,使用shell命令取出key的值。
自定义取值可以使用include方式将自定key单独存放.conf的配置文件中
1.修改客户端的配置文件
[root@web01:zabbix_agentd.conf.d]#sed -n '314p' /etc/zabbix_agentd.conf
Include=/etc/zabbix_agentd.conf.d/*.conf
创建存放conf的路径
mkdir /etc/zabbix_agentd.conf.d/
2.创建新的文件自定义key
[root@web01:zabbix_agentd.conf.d]#pwd
/etc/zabbix_agentd.conf.d
[root@web01:zabbix_agentd.conf.d]#cat os.conf
UserParameter=user_login,uptime|awk '{print $(NF-6)}'
使用zabbix_agentd -t 测试取值是否成功,如果取值成功,重启zabbix-agent
二.登陆zabbix-server端验证取值是否成功
使用zabbix-get拉去测试,看是否能拉取到自定义的值(zabbix_get -s <agent_ip> -k tcp.estab.count)
客户端配置
[root@web01 /etc/zabbix_agentd.conf.d]#cat os.conf
UserParameter=user_login,uptime|awk '{print $(NF-6)}'
UserParameter=ng_port,netstat -tnulp|grep nginx|grep 80|wc -l
[root@web01:~]#systemctl restart zabbix-agent
#查看
[root@web01 ~]#zabbix_agentd -p|grep ng_port
ng_port [t|1]
授权netstat命令s权限
[root@web01 ~]#chmod u+s /usr/bin/netstat
服务端测试获取key值:
[root@zabbix ~]#zabbix_get -s 172.16.1.7 -k ng_port
1
页面进行自定义监控项添加
三.在webUI配置并实现监控
1.创建监控项,找到对应的主机,创建一个item,把键值写成之前在客户端自定义的key,注意名称一定要一样
2.创建触发器,实现告警
3.创建图形化进行展示