我花了一些时间来学习如何使用 Nagios、Check_mk 以及作为 OMD 包的一部分安装的一些其他非常有用的工具。
一旦手动安装了 check_mk 代理,WATO 就特别适用于通过 GUI 管理我们所有基于静态 Windows 和 Linux 的服务器。
我想问一下,自动化整个监控过程的最佳方法是什么?或者是否可以做到?
我们将使用 chef 配方定期配置新服务器并频繁关闭其他服务器。如果我们要继续使用 Nagios / Check_mk,那么管理员必须尽量减少跟踪和监控我们基础设施的工作量。
非常感谢你的帮助。史蒂夫
答案1
Highlevel,有两种方式:
- 让 chef 写入有效的 Check_MK 配置文件(现在已经完成),并让它通过 WATO 自动化触发库存 + 重新加载。这可能更透明。
- 让 Check_MK 从您的 CMDB(如果您运行专业设置,就会有一个……)或从 Chef 配置中读取主机。这是可行的,Check_MK 配置基本上允许您执行 Python 允许您执行的任何操作。因此,您可以从 LDAP、某些 API、Chef 配置或平面文件中读取数据。对我来说,这是更干净的方法,因为它具有更直接的“数据”接口。
我认为从长远来看,第一种方法对你来说更合适,因为它更面向 WATO。我仍然会选择第二种方法,并加入 EC2 虚拟机列表等。
可以进行混合,即某些守护进程监听诸如 VM 创建之类的事件,并将配置写入 WATO 只读文件夹。
注意:不对任何此类数据源进行健全性检查是非常愚蠢的。仅仅因为某个基础设施即代码疯子添加了一个 (基础设施) 错误并从 Chef 中删除 100% 的虚拟机,它们不应立即从监控中删除。
确保它保持小的带外。
关于动态 Check_MK 接口的 2010 年左右的文档可以在这里找到: https://geni-orca.renci.org/trac/wiki/OMDeventhandlers
它确实很古老但是很好地阐述了基本思想。
我已经对 config-mgmt ---to ---- Check_MK 接口进行了首次概念验证。虽然不如我所愿,但受限于我编写 Python 的速度/技能。:)
我目前在约 70 台非云服务器上使用它: https://bitbucket.org/darkfader/nagios/src/461992c2c5452807a37838ca99fd92977fcf96e1/check_mk/ino2cmk/ino2cmk.py?at=default