假设通过代理使用 zabbix 监控存储。我们希望当 zabbix 存储失败时通过某些脚本生成的错误描述通过电子邮件发送给我们。zabbix 是否有可能获取字符串输出(ala nagios)并报告它(不仅仅是字符串监控和报告找到/未找到)还是报告仅适用于整数?
问问题
4065 次
2 回答
2
使用 Zabbix 进行字符串或文本正则表达式检查非常容易。您可以通过简单的命令行检查来执行此操作,该检查将回显错误或“ok”消息。
例如,您想检查日志中的“驱动器故障”并发送电子邮件,我会在 Zabbix 中将其作为“密钥”执行类似的操作。
system.run[grep 'drive failure' /var/log/message || echo 'okay']
将检查设置为“文本”,它将报告 grepped 匹配或正常消息。然后,您可以在警报中使用正则表达式为任何与“OK”不匹配的内容发送电子邮件,例如:
{your_template:system.run[grep 'drive failure' /var/log/message || echo 'OK'].regexp(OK)}#1
如果它收到除“OK”以外的任何文本行,这将发出警报。
在 Zabbix 中处理文本时有一些限制。首先是 Zabbix 只报告第一行。第二个是检查必须始终返回文本,无论是正常消息还是错误。如果你检查出来是空的,Zabbix 会认为它已经坏了。
于 2012-05-30T18:37:38.230 回答
1
您可以创建一个包含错误文本的文本或日志项目,并使用该项目创建一个触发器,例如检查单词“error”或某个值。为该触发器创建一个操作并将该项的值包含在通知中,请使用 {ITEM.LASTVALUE} 宏。
这是您可以在通知中使用的宏列表http://www.zabbix.com/documentation/2.0/manual/appendix/macros/supported_by_location。
于 2012-05-24T10:36:49.240 回答