1、客户机配置zabbix_agent.conf 参数
EnableRemoteCommands=1
LogRemoteCommands=1
UserParameter= iptables.count,sudo iptables -L |wc -l
UserParameter= iptables.start,sudo service iptables start
重新启动zabbix_agentd
2、配置sudo文件
#visudo
注释掉下面这条,允许非tty sudo
#Defaults requiretty
zabbix ALL=(ALL) NOPASSWD: /sbin/iptables
3、在zabbix服务器上测试
检查iptables 是否开启
[root@zabbix ~]# zabbix_get -s x.x.x.x -p 10050 -k iptables.count
34
返回值为34说明客户端的iptables已经启用
关闭客户端
iptables服务,重新检查
[root@localhost etc]# service iptables stop
清除防火墙规则: [确定]
把 chains 设置为 ACCEPT 策略:filter [确定]
[root@localhost etc]#
[root@zabbix ~]# zabbix_get -s x.x.x.x -p 10050 -k iptables.count
8
返回值为8,说明客户端防火墙已经关闭
在zabbix服务器上远程启动客户机的iptables 服务
[root@zabbix ~]# zabbix_get -s x.x.x.x -p 10050 -k iptables.start
清除防火墙规则:[确定]
把 chains 设置为 ACCEPT 策略:filter [确定]
应用 iptables 防火墙规则:[确定]
载入额外 iptables 模块:ip_conntrack_netbios_ns [确定]
[root@zabbix ~]# zabbix_get -s x.x.x.x -p 10050 -k iptables.count
34
[root@zabbix ~]#
返回值为34说明测试成功
4、创建监控项
名称:iptables.count
键值:iptables .count
更新间隔:60s //说明:更新时间默认为30秒,我改为60秒还是有点频繁
应用集:Security
5、创建触发器
名称:iptables.stop
严重性:警告
表达式:{x.x.x.x:iptables.count.last()}=8
6、创建动作
动作:
名称:远程启动iptables
条件: A 触发器名称 like iptables.stop
B 非维护状态
操作:
操作类型:远程命令
目标列表:当前主机
类型:自定义脚本
执行:Zabbix客户端
命令:sudo service iptables start