需求:本文以监控用户登录数量来测试,系统登录的个数超过3个以上,报警 警告
- zabbix自带模板Template OS Linux (Template App Zabbix Agent)提供CPU、内存、磁盘、网卡等常规监控,只要新加主机关联此模板,就可自动添加这些监控项。
预备知识
- 1.自定义key能被server和agent 认可 如下:
#正确的key
[yun@iZbp1eew8f470ybn68w5g7Z app]$ zabbix_get -s 123.206.xx.xx -p 10050 -k "system.uname" Linux node1 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64
#没有定义的key
[yun@iZbp1eew8f470ybn68w5g7Z app]$ zabbix_get -s 123.206.xx.xx -p 10050 -k "login" ZBX_NOTSUPPORTED: Unsupported item key.
#写错的key [yun@iZbp1eew8f470ybn68w5g7Z app]$ zabbix_get -s 123.206.xx.xx -p 10050 -k "xxxx" ZBX_NOTSUPPORTED: Unsupported item key.
一:什么是item (item英文项目通常我叫监控项)
- Items是从主机里面获取的所有数据。通常情况下我叫itme为监控项,例如我需要监控它的用户登录数量,那么实现这个方法的东西就叫item。接下来zabbix教程中提到的item都翻译为监控项。
二:实战自定义监控项
自定义语法:
Format: UserParameter=<key>,<shell command>
自定义key详解:
UserParameter=<key>,<shell command> UserParameter=key值相当一个变量,后面是你需要命令取出来定义一个数字, key=命令取出的结果数字 UserParameter=login_user,who|wc -l #这里的login_user就是我们定义的key login_user,等于当前登录用户数量 #当前登录的用户数量,一台虚拟机,一个xshell登录
[root@web01 ~]# who |wc -l
2
#1客户端node1服务器上创建一个key值
[root@node1 zabbix_agentd.d]# pwd /etc/zabbix/zabbix_agentd.d [root@node1 zabbix_agentd.d]# ll total 8 -rw-r--r-- 1 root root 35 Apr 10 22:28 user.conf -rw-r--r-- 1 root root 1531 Apr 4 22:46 userparameter_mysql.conf [root@node1 zabbix_agentd.d]# cat user.conf UserParameter=login-user,who|wc -l
注意:key名字要唯一,多个key以行为分割
#修改完以后重启服务
[root@node1 zabbix_agentd.d]# systemctl restart zabbix-agent.service
#2在server端进行get测试
[yun@iZbp1eew8f470ybn68w5g7Z app]$ zabbix_get -s 123.206.xx.xxx -p 10050 -k "login-user" 1
#由于本人采用的外网监控所以隐藏
#3 创建自定义监控项
第一步:配置--主机
第二步:找到我们需要配置的主机监控项
第三步:创建监控项
#4 添加触发器,如果用户数量超过3个,则报警
#5测试报警