【发布时间】:2015-07-17 13:00:01
【问题描述】:
我们正在使用 Zabbix 2.4 监控我们的生产环境。新实例使用设置 Zabbix 代理的 Ansible 进行配置。我们需要的是,如果主机已被终止,则将它们从服务器中删除,以便我们只收到有关正在运行的实例变得不可用的消息。
为此,我编写了一个 Python 脚本,它可以将 zabbix 主机名作为参数,通过调用 awscli 检查该主机是否在正在运行的实例列表中,如果它不在“未终止”列表中,则删除该主机.
我将脚本放在 /usr/bin/delete_host.py 中,并配置了一个操作以在激活“代理不可用”触发器时调用它。这是“操作”选项卡的样子 link
这里是操作日志link
我尝试了几种方法来编写命令,还将脚本放在 ExternalScripts 目录中。打开服务器的调试日志,但其中没有提到错误或任何内容。事实上,它只显示命令正在执行并且一切正常的消息,但主机仍然存在。当我从操作日志中复制命令并手动执行时,一切正常。
在这一点上,我真的没有办法进一步解决这个问题。我禁用了 selinux 并使用 nopasswd 将 zabbix 用户添加到 sudoers 文件。我在任何日志中都找不到任何东西。甚至可以用 zabbix 执行非消息脚本吗?
【问题讨论】:
标签: zabbix