zabbix内容很多,这篇文章继续给大家介绍,zabbix功能很强大,只要是能获取到的数据都可以监控,俗称万物可监控,这也就决定了zabbix有很大的自由度,本篇文章包括自定义监控,自定义报警,自定义图形,自定义模板。
自定义监控
通过获取系统信息来定义zabbix的监控项、配置zabbix触发器发送告警通知
案例1:监控系统登录数量
1、获取系统登录的用户数
1. [root@Web01 ~]# w 2. 19:25:02 up 2 days, 4:00, 2 users, load average: 0.00, 0.01, 0.05 3. USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT 4. root tty1 30Mar23 10:37m 0.55s 0.51s bash 5. root pts/0 10.0.0.1 11:17 6.00s 0.35s 0.02s w 6. [root@Web01 ~]# w|grep users|awk '{print $(NF-6)}' 7. 2
2、定义为zabbix的监控项
1. #配置zabbix文件 2. [root@Web01 ~]# cat /etc/zabbix/zabbix_agentd.d/system.conf 3. UserParameter=login_number,w|grep users|awk '{print $(NF-6)}' #=后面是固定格式 4. #查看监控项,有语法检查功能 5. [root@Web01 ~]# zabbix_agentd -p|grep login_number 6. login_number [t|2] 7. #重启客户端 8. [root@Web01 ~]# systemctl restart zabbix-agent
3、使用zabbix服务器端进行采集监控
服务端通过命令行测试是否通过监控项来获取用户自定义的值
1. [root@Zabbix ~]# yum -y install zabbix-get 2. [root@Zabbix ~]# zabbix_get -s 172.16.1.7 -p 10050 -k login_number 3. 2
案例2:监控tcp 22端口是否存活,并做值映射
检查TCP端口是否处于侦听状态,返回0未侦听,返回1正在侦听
1. #zabbix5.0版本不支持netstat命令需要加s权限 2. [root@Web01 ~]# chmod +s /bin/netstat 3. [root@Web01 ~]# netstat -tnulp|grep 0.0.0.0:22|wc -l 4. 1 5. [root@Web01 ~]# cat /etc/zabbix/zabbix_agentd.d/system.conf 6. UserParameter=login_number,w|grep users|awk '{print $(NF-6)}' 7. UserParameter=tcp_listen_22,netstat -tnulp|grep '0.0.0.0:22'|wc -l 8. [root@Web01 ~]# zabbix_agentd -p|grep tcp_listen_22 9. tcp_listen_22 [t|1] 10. [root@Web01 ~]# systemctl restart zabbix-agent
端口正常监听状态
停止服务
[root@Web01 ~]# systemctl stop sshd
自定义配置展示值映射
恢复端口侦听
[root@Web01 ~]# systemctl start sshd
案例3:自定义监控服务器内存百分比,设置触发器
1、自定义监控项
1. [root@Web01 ~]# free|awk 'NR==2{print $NF/$2*100}' 2. 51.5489 3. [root@Web01 ~]# cat /etc/zabbix/zabbix_agentd.d/system.conf 4. UserParameter=login_number,w|grep users|awk '{print $(NF-6)}' 5. UserParameter=tcp_listen_22,netstat -tnulp|grep '0.0.0.0:22'|wc -l 6. UserParameter=mem_free,free|awk 'NR==2{print $NF/$2*100}' 7. [root@Web01 ~]# systemctl restart zabbix-agent 8. [root@Web01 ~]# zabbix_agentd -p|grep mem_free 9. mem_free [t|51.3581]
2、服务端测试获取key值并添加监控
1. [root@Zabbix ~]# zabbix_get -s 172.16.1.7 -p 10050 -k mem_free 2. 51.536
3、内存可用百分比小于20%,则触发报警规则