配置 zabbix,当CentOS 防火墙处于关闭状态时,自动启动防火墙

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

猜你喜欢

转载自blog.csdn.net/zjyklwg/article/details/82732765