Nagios:如果问题已确认但尚未恢复(正常状态),则发送升级警报

Nagios:如果问题已确认但尚未恢复(正常状态),则发送升级警报

我想我知道答案(不可能) - 但想看看是否有人有一个聪明的想法,或者也许我对这个问题的看法是错误的。

目标

我们希望值班经理在发生以下情况时收到服务中断的通知:

  • 该服务在一段规定时间内处于停机状态。
  • 应发送通知即使该问题已被确认。

来自 Nagios 文档:

对于通知:

当且仅当一个或多个升级定义与正在发出的当前通知相匹配时,通知才会升级。

致谢:

允许您确认指定服务的当前问题。通过确认当前问题,未来通知(针对相同的服务状态)被禁用。如果“sticky”选项设置为 1,则确认将保留,直到服务恢复正常状态。否则,当服务更改状态时,确认将自动删除。如果“notify”选项设置为 1,则将向联系人发送通知,表明当前服务问题已得到确认。如果“persistent”选项设置为 1,则与确认相关的注释将在 Nagios 进程重新启动后继续存在。如果不是,则下次 Nagios 重新启动时将删除该注释。

我的理解是,如果问题得到确认,那么就不会再有进一步的通知 - 我认为这也适用于升级通知?

我看不出有什么办法可以解决这个问题。

我们的工作流程要求 L1 团队确认问题是否可处理,并根据需要上报。但是,我们希望建立一个自动流程来确保这些上报能够发生。

我希望在 Nagios 上实现这一点,但如果不可能的话,我们可能不得不在票务方面来处理这个问题。

谢谢!

答案1

我有一个 Perl 脚本可以执行此操作。您只需扫描“status.dat”文件即可:

host checks > last_time_up = <value>
service checks > last_time_ok = <value>

两者都存储一个纪元值,如果该值大于当前纪元的秒数​​,则会导致将 check_description 和/或 host_name 添加到发送的电子邮件中。我的脚本还检查“problem_has_been_acknowledged”条目并让我知道它是否已被确认。该脚本每 30 分钟从 crontab 条目触发一次,发送匹配的所有主机/服务检查列表。

相关内容