简单示例:我在 C:\users\user\test.log 中有一个日志文件,其中包含一行文本:
crit
我在 Program Files (x86)\check_mk 中安装了 check_mk_agent.exe,在同一文件夹中安装了 check_mk.ini,其中包含以下文本:
[logfiles]
# # Define textfiles to be monitored, separated by |
# textfile = C:\tmp logfiles\message_*.log|D:\log\sample.txt
# # Set patterns for defined textfiles
# ok = Successfully logged in*
# crit = Error in*
# warn = Unable to contact*
# ignore = Backup * saved
textfile = C:\users\user\test.log
warn = *
crit = crit
ok = ok
如果该行读取“ok”,则应该返回 OK,如果该行读取“crit”,则返回 CRIT,否则返回 WARN。
但是,它根本不报告任何状态。如果我运行check_mk_agent.exe test
(类似地debug
),我得到这些行,表明它找到了文本文件 OK,但没有报告它的状态:
( ... )
<<<logwatch>>>
[[[C:\users\user\test.log]]]
<<<>>>
<<<>>>
<<<local>>>
( ... )
谁能帮我让它工作?我不是 Check MK 的专家,这正在推动我的知识极限。
check_mk 代理测试运行不显示服务状态(ok、crit 等),所以您看到的是正确的。它实际上表明新配置已成功加载。要查看它的实际效果,请在 check_mk 服务器上运行新清单以列出新服务。
现在有两件事:
warn = *
为其他内容,因为*
它将匹配任何内容并且您将始终获得warn
状态。Open Log
(服务名称旁边的打字机按钮),您可以看到代理读取了哪些日志数据。在那里,您还可以查看它是否正在更新。