谁会收到通知是在服务和主机定义中定义的,但我希望它仅在 pr 主机级别上定义。
contact_groups
因此,主机中的任何人都会收到所有服务通知。
对于这个特定的主机定义,example
我喜欢这些组admins
并sandradebug
接收所有主机和服务通知。
那可能吗?
典型主机定义
define host {
use linux-host
host_name example
alias example
address 10.10.10.10
hostgroups default-linux-services
contact_groups +sandradebug
}
所有 Linux 主机都获得的服务检查
define service {
use generic-service
name check_disks
service_description Check Disk
check_command check_nrpe!check_disk
contact_groups linux-admins
hostgroup_name default-linux-services
}
不知道这是做什么的,或者为什么需要它
define hostgroup {
hostgroup_name default-linux-services
alias All Linux hosts shall have these service checks
members
}
服务模板
define service{
name generic-service
active_checks_enabled 1
passive_checks_enabled 1
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 10
retry_check_interval 2
contact_groups admins
notification_options w,u,c,r
notification_interval 60
notification_period 24x7
register 0
}
答案1
我猜想添加一个contact
然后添加contacts +sandradebug
你的主机定义应该就可以了。这是对象定义
您还可以设置contactgroup
linux-admins 和contact
sandradebug
然后为 linux-admins 和 sandradebug 创建一个联系人组,例如
define contactgroup{
contactgroup_name everyone
alias alias
members sandradebug
contactgroup_members linux-admins
}
更简单的解决方案可能是仅添加以逗号分隔的联系人组或联系人。
编辑2:
几个主机的示例
定义主机 { 使用 linux-host 主机名示例别名示例地址 10.10.10.10 主机组默认 linux 服务联系人 +sandradebug }
或者你可以将其添加到服务中
define service {
use generic-service
name check_disks
service_description Check Disk
check_command check_nrpe!check_disk
contact_groups linux-admins
hostgroup_name default-linux-services
contacts +sandradebug
}
如果您有许多主机想要执行此操作,请创建一个联系人组并将其分别纳入主机和服务组