我已经启动并运行了 Nagios Core,但找不到任何方法来安排主机的定期停机时间。例如,假设我有一台主机,计划每周日凌晨 1 点重新启动。我希望能够将“每周日凌晨 1:00 至 1:10”的已知停机时间安排到 Nagios 中,但我发现这样做的唯一方法是一次安排一个事件。
答案1
如果不使用 JakePaulus 提到的 cron 解决方案,使用 Nagios 处理“停机时间”的典型方法是定义并使用不包括主机停机时间的时间段。例如,在您的案例中
define timeperiod {
timeperiod_name foo
sunday 00:00-1:00,1:10-24:00
monday 00:00-24:00
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday 00:00-24:00
}
一种更简单的方法是采用您预先存在的 24x7 时间段并定义和排除:
define timeperiod {
name reboot
timeperiod_name reboot
sunday 1:00-1:10
}
define timeperiod {
timeperiod_name foo
use 24x7
exclude reboot
}
答案2
您可以使用 shell 脚本来执行此操作,该脚本按照 cron 指定的时间表提交外部命令(将命令输出到命名管道 nagios.cmd 文件)。以下是我们使用的链接。
http://exchange.nagios.org/directory/Addons/Scheduled-Downtime/Schedule-Downtime-via-cron/details