1. 前言
配置报警触发脚本动作可以自动解决问题,消除报警,减少人工操作。
2. 准备工作
远程命令是通过zabbix用户来执行,所以需要把zabbix用户添加到/etc/sudoers文件中。
[root@129 ~]# vim /etc/sudoers
root ALL=(ALL) ALL
zabbix ALL=NOPASSWD:ALL
--NOPASSWD禁止密码验证
Zabbix Agent修改配置文件,以允许执行远程命令。
[root@129 ~]# vim /etc/zabbix/zabbix_agentd.conf
EnableRemoteCommands=1
[root@129 ~]# systemctl restart zabbix-agent
3. Zabbix 配置
以服务器登录用户数过多为配置案例。
3.1 监控项
Zabbix 默认模板有监控此键值system.users.num
,不做配置。
3.2 触发器
服务器登录用户数超过5个触发报警。
3.3 脚本
/root/delete-user.sh
脚本需要在服务器上创建。
[root@129 ~]# cat delete-user.sh
#!/bin/bash
who | grep root | awk '{print $2}' | tail -1 | xargs pkill -9 -t
[root@129 ~]# chmod 777 delete-user.sh
3.4 触发器动作
4. 测试
服务器登录多个终端,报警触发脚本动作,记录写入文本,多的终端被kill掉,警告恢复。