0

我想实现一个基于 telnet 的检查。每 5 分钟检查一次网络设备并在其上运行一些命令并获取输出。

是否有可能对此进行被动检查, check_mk 是否提供任何工具来进行基于 telnet 的被动检查。

4

2 回答 2

0

我刚刚开始使用 Check_MK,但我认为如果您可以编写一个脚本来执行您的检查所需的任何操作,那么 check_mk 可以对其进行监控。

您的脚本只需要向 STDOUT 写入类似的内容:

0 my_telnet_test time=0.1 OK:一切正常

...或者:

2 my_telnet_test time=0.7 严重:设备说“foo”,但我期待“baa”

STDOUT 格式在此处详细描述:http: //mathias-kettner.com/checkmk_localchecks.html

一旦你的脚本工作了,如果你可以不带参数运行它,你可以把它放到你想运行检查的机器上的 /usr/local/check_mk_agent/local 中,然后运行一个清单check_mk 服务器。它将获取更改,并为您运行脚本。

于 2014-10-20T13:21:26.023 回答
0

对于 telnet 部分,你应该看看

为 Telnet 会话创建脚本?

对于我要添加的 Check_MK 部分:要完成每 5 分钟运行一次脚本的要求,您可以在 Check_MK 本地插件目录 (/usr/lib/check_mk_agent/local/) 内创建一个文件夹,以秒为单位的时间命名. 例如,Check_MK 将每 300 秒运行 /usr/lib/check_mk_agent/local/300/ 中的每个脚本,并将先前的检查结果保存在代理的缓存中。

https://mathias-kettner.de/checkmk_localchecks.html

有时脚本会运行超过几秒钟。如果一个代理的所有脚本和插件的运行时间超过了监控核心主动检查的超时时间(通常是 60 或 120 秒),那么完整的检查将被中止。为了避免这种情况,您可以异步运行本地检查并使用缓存文件。这是通过将脚本放入以数字命名的子目录中来完成的 - >脚本输出有效的秒数:

/usr/lib/check_mk_agent/local/300/myscript

在这种情况下,代理将:

在后台运行此脚本,不要等待它完成。将脚本的结果存储在 /etc/check_mk/cache 下的缓存文件中。在再次运行脚本之前使用该文件 300 秒。

于 2015-02-01T13:57:46.260 回答