我已经安装了 OMD 并激活了 Check_mk 接口和 Nagios 引擎。除了一件事之外,它运行良好。我无法正确检查我的 SQL。以下是我到目前为止所做的:
创建了一个具有所有者的新数据库。
- DB: omd
- 用户: omdadmin
- 表:omdtable
- 第一列:id(int),值为 1
- 第二列:名称(varchar),值为“working”
- 第三列:status(varchar),值为“PING ok - 数据包丢失 = 0%,RTA = 0.80 ms”
在 Check_MK 的 WebGUI 上,我已激活Host & Service Parameters
-> Active Checks
-> Check SQL Database
。我已为它设置了一切,并且连接得很好。我做了一个select * from omdtable
。但是我不断收到 WARN 状态,并且收到一条错误消息:Failed to parse performance data string: performance_data=PING ok - Packet loss = 0%, RTA = 0.80 ms
我不知道我做错了什么。你们能给我提示一下吗?
我做错了什么?我该如何解决?
答案1
我遇到了同样的问题,最后我找到了问题所在。根据文档:https://mathias-kettner.de/cms_check_check_sql.html第一列的结果被解析,最终状态取决于脚本在第一列中找到的内容。换句话说,您始终处于警告状态,因为您在第一列中插入了“1”而不是“0”。尝试做以下事情:
- 从表 omdtable 中删除所有数据:DELETE FROM omdtable;
- 添加新数据:INSERT INTO omdtable VALUES(0,'test);
答案2
我不知道 check_mk,但我对你的命令结果的状态感到惊讶。要获得性能数据,你应该有一个管道将状态与性能数据分开,如下所示:
PING ok | Packet loss = 0%, RTA = 0.80 ms
PING
ok 是状态,Packet loss=etc...
是性能数据。也许你的命令结果有问题,它应该返回:
PING ok | Packet loss = 0%, RTA = 0.80 ms
并不是 :
PING ok - Packet loss = 0%, RTA = 0.80 ms
让你的 perf 数据和 nagios 能够解析你的结果。