我需要每天三次定期检查服务。 该检查应在7、15和23小时(当时每8小时)进行一次。
我尝试过的是定义这个时间段:
define timeperiod{
timeperiod_name three_times_a_day
monday 07:00-07:10, 15:00-15:10, 23:00-23:10
tuesday 07:00-07:10,15:00-15:10,23:00-23:10
wednesday 07:00-07:10,15:00-15:10,23:00-23:10
thursday 07:00-07:10,15:00-15:10,23:00-23:10
friday 07:00-07:10,15:00-15:10,23:00-23:10
saturday 07:00-07:10,15:00-15:10,23:00-23:10
sunday 07:00-07:10,15:00-15:10,23:00-23:10
}
服务(在几台主机上)是这样的:
define service{
use all_templates
host_name some_host
service_description some_service
check_command some_command
check_period three_times_a_day
max_check_attempts 1
check_interval 480 ; run every 8 hours
}
从这里https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/4/en/timeperiods.html说 “当Nagios Core尝试重新安排主机或服务检查的时间时,将确保下一次检查位于定义的时间段内的有效时间范围内。如果没有,Nagios Core将调整下一次检查时间以与指定时间段内的下一个“有效”时间。”
但是事实是这没有发生。
当我检查计划队列时,我看到:
+--------------+--------------+-----------------+-----------------+
| Host | Service | Last Check | Next Check |
+--------------+--------------+-----------------+-----------------+
| some_host | some_service | 8/12/2019 9:35 | 8/12/2019 15:01 |
| some_host_1 | some_service | 8/12/2019 7:01 | 8/12/2019 15:01 |
| some_host_2 | some_service | 8/12/2019 8:50 | 8/12/2019 15:02 |
| some_host_3 | some_service | 8/12/2019 9:30 | 8/12/2019 15:02 |
| some_host_4 | some_service | 8/12/2019 9:22 | 8/12/2019 15:02 |
| some_host_5 | some_service | 8/12/2019 7:03 | 8/12/2019 15:03 |
| some_host_6 | some_service | 8/12/2019 8:53 | 8/12/2019 15:04 |
| some_host_7 | some_service | 8/12/2019 9:58 | 8/12/2019 15:04 |
| some_host_8 | some_service | 8/12/2019 9:30 | 8/12/2019 15:04 |
| some_host_9 | some_service | 8/12/2019 7:05 | 8/12/2019 15:05 |
| some_host_10 | some_service | 8/12/2019 9:01 | 8/12/2019 15:05 |
| some_host_11 | some_service | 8/12/2019 10:02 | 8/12/2019 15:05 |
| some_host_12 | some_service | 8/12/2019 9:21 | 8/12/2019 15:05 |
| some_host_13 | some_service | 8/12/2019 7:08 | 8/12/2019 15:08 |
| some_host_14 | some_service | 8/12/2019 7:08 | 8/12/2019 15:08 |
| some_host_15 | some_service | 8/9/2019 14:49 | 8/12/2019 16:24 |
+--------------+--------------+-----------------+-----------------+
为什么在时间之外对服务进行良性检查? 为什么some_host_15没有检查8/10和8/11和8/12? 如何每天固定时间检查3次服务?
谢谢!
答案 0 :(得分:1)
”“当Nagios Core尝试重新安排主机或服务检查的时间时,它将确保下一次检查位于定义的时间段内的有效时间范围内。如果没有,Nagios Core将调整下一次检查检查时间,使其与指定时间段内的下一个“有效”时间一致。”
实际上,我确实确定情况并非如此,但是如果您看到不同的行为,也许这是一个错误。我希望时间段和检查间隔会造成时间问题,从而导致许多检查被丢弃。无论事情应该如何工作以及什么是/不是预期的行为,我都不会亲自配置它。既然你这样说:
我需要每天三次定期检查服务。
如果我是你,这就是我要做的事情
check_command
,以为服务的最终结果没有新的结果做准备,即只有在未收到服务检查的情况下才执行的某件事-可能是重新运行检查的脚本并以某种方式通知我。