导语:在zabbix中我们大部分都是自定义的监控项来实现某些特殊监控。
如何实现自定义特殊监控,请看下述。
所为监控项都是由每一个相对应的item key。
zabbix内置了许多的item key,实现特有数据监控;
语法:Userparameter=<key>,<shell command>
自定义监控项
[root@centos6 zabbix_agentd.d]# vim /etc/zabbix/zabbix_agentd.conf :其实不用编辑文件,我这是为了演示
例如:现在我们自定义一个监控项(key值),监控linux的内存使用状况。
[root@agent1 zabbix_agentd.d]# free -m :先查看linux使用状况
total used free shared buff/cache available
Mem: 1820 229 1211 17 379 1404
Swap: 2047 0 2047
[root@agent1 zabbix_agentd.d]#
[root@agent1 ~]# cd /etc/zabbix/zabbix_agentd.d/ :进入这个目录中
[root@agent1 zabbix_agentd.d]# vim memory.conf :创建一个关于内存的.conf文件,编写以下内容
UserParameter=os.memory.used,free -m | awk '/^Mem/ {print $3}'
os.memory.used:这一项就是所谓的key,而后面是我们如何取出来用来监控的key值。
[root@agent1 zabbix_agentd.d]# systemctl restart zabbix-agent :重启zabbix-agent端
现在监控项(key)已经定义好,那下面看如何监控。
现在两台主机192.168.43.128(server端),192.168.43.131(agent端)
第一步:创建一台主机。一些详细过程的含义不在描述了,只定义到graphs,往后一些列动作不在定义
创建一个item,用来监控自定义的key
定义一个触发器,方便验证把阈值定义为了230。之前查看内存使用为229
为了形象的展示属于,我们也可以定义一个图示来展示数据变化
下面我自定义再一个key,用来监控数据库中查询,更新,操作命令的使用数
第一步:首先我们要链接上数据库创建授权一个用户,用于链接mysql数据库
MariaDB [mysql]> grant all on *.* to 'root'@'%' identified by 'redhat';
Query OK, 0 rows affected (0.00 sec)
在agent端(192.168.43.131)创建自定义key
[root@agent1 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@agent1 zabbix_agentd.d]# vim mysql.conf
UserParameter=Mysql.dml[*],/usr/bin/mysql -h$1 -u$2 -p$3 -e 'show global status'| awk '/Com_$4\>/{print $$2}'
Mysql.dml为key, *:表示可以传递的参数,后面是怎么把key值显示出来。
[root@agent1 zabbix_agentd.d]# systemctl restart zabbix-agent
一系列定义好,那么我们看看如何监控。
之前我们已经定义好这台主机,所以直接在上面添加一个监控昂项即可。
定义一个触发器