nagios实现定时发送通知
来源:互联网 发布:mac无法正常关机 编辑:程序博客网 时间:2024/05/13 01:00
最近在做nagios监控,需要实现定时通知功能。找了一些资料,后边加上了自己配置的详细过程。
这个是原文:
在Nagios配置基础中,我已介绍了通知配置方法.当某个受监控系统不再可达时,Nagios会发送告警通知.默认情况下,Nagios以邮件方式,将通知发送给指定联系人.在本章中,你将学会如何配置系统,实现在不同时间段,发送通知给不同管理员. Nagios通知默认配置介绍 在学习如何配置之前,我们先简单介绍一下默认配置.配置文件位于/etc/nagios/objects/contacts.cfg,默认情况下,文件中包含一个联系人与一个联系组.具体内容如下所示: efine contact{ contact_name nagiosadmin use generic-contact alias Nagios Administration email nagios@localhost } define contactgroup{ contactgroup_name admins alias Nagios Administrators members nagiosadmin } 在默认配置中,告警几乎不怎么起作用.要让系统将通知发送至某个收件箱,用户需要有指定的电子邮箱,并经常检查通知邮件.在通知邮件发出,到用户打开邮箱阅读,可能会经过很长的时间. 让Nagios在不同时间段发送通知 默认情况下,所有告警会昼夜不停的发送.你可以通过建立多种方案来实现在不同时间段发送通知.我们从/etc/nagios/objects/timeperiods配置文件开始介绍,此文件用于设定时间段.举例说明,你可以通过以下设置,定义“夜晚”的时间段: define timeperiod{ timeperiod_name night alias do not disturb sunday 00:00-06:00 monday 00:00-06:00 tuesday 00:00-06:00 wednesday 00:00-06:00 thursday 00:00-06:00 friday 00:00-06:00 saturday 00:00-06:00 } 我们可以利用这些时间段,给不同用户帐号设置不同值守时间,并为不同事件设置不同的动作.这样可以确保告警在半夜也可以发送给适当的人. 如果已经通过定义contacts.cfg定义了多个通信帐号,并按照上面介绍的方法定义了时间段,我们现在可以设置让任何主机或者服务,在特定时间段内,将通知发送给不同的人. 因此,你可以根据一天的时间段,为不同的主机定义不同的动作,将事件信息发送给不同的管理员.例如,以下配置信息可以让你将“check-host-alive”(检测主机在线情况)检查任务设置成在夜里每一小时检查一次,当然,你可以调整检查频率,实现每15分钟检查一次: define host{ host_name my-server hostgroups linuxservers ... check_command check-host-alive ... check_period night contact nagiosadmin notification_interval 60 notification_period night notification_options d,u 此配置与默认配置一起使用,可以针对夜晚时间段进行主机监控. 现在,你已经知道如何利用多Nagios联系名单与时间段定义,建立自定义告警通知.活用这些技巧可以让你确保适合的人在适合的时间,收到正确的Nagios通知.
下面是一些配置过程:
指定服务,指定联系人,指定通知方式。
为了实现对指定服务,实现指定联系人的通知方式,
在 timeperiods.cfg 中加入发送通知时间
define timeperiod{
timeperiod_name notify_at_8
alias once_a_day
sunday 08:00-09:00
monday 08:00-09:00
tuesday 08:00-09:00
wednesday 08:00-09:00
thursday 09:00-10:00
friday 08:00-09:00
saturday 08:00-09:00
}
定义需要通知的联系人:
define contact {
contact_name notifyadmin
alias wu
use generic-contact
service_notification_commands notify-service-by-qqemail #通知命令
email XXXX@163.com
}
我们在指定的主机中加入服务
define service{
host_name localhost
use local-service
service_description notify_at_800
contacts notifyadmin # 指定联系人
check_command notify_at_800 #定义一个服务检查命令来触发通知发送。
check_period notify_at_8 #定义检测时间。
notification_period notify_at_8 #检测间隔
}
重启服务就可以实现在指定时间段发送消息。
- nagios实现定时发送通知
- Android定时发送通知
- android 定时发送短信实现
- java实现邮件定时发送
- java实现邮件定时发送
- Android应用的定时通知实现
- AlarmManager+Notification实现定时通知提醒功能
- Android--PendingIntent 实现发送通知notification
- 【广告项目】钉钉实现发送通知
- 发送通知
- python 实现 自动定时发送人人状态
- java实现邮件每周日定时发送
- Android通过Servcie实现Notification定时发送
- java quartz实现定时发送邮件
- .Net实现邮件定时发送问题总结
- Android定时发送短信功能实现
- Quartz定时任务实现自动发送邮件
- 定时发送
- 织list标签实现weight排序,article标签实现weight排序
- 宏的二次展开
- android canvas详解
- REUSE_ALV_GRID_DISPLAY详解
- Jquery $.ajax $.post $.get 异步请求 return undefined null问题
- nagios实现定时发送通知
- Myeclipse10优化
- 编写更好的jQuery代码
- javaWeb03_JS_01
- 蓝色天边
- shell 以及python获取当前时间,构造文件后缀名
- HDU 2478 Slides(瞎搞,预处理)
- 2014-04-24error:一个变量的值竟然在两次显示得不一样
- java String类trim,substring,replaceAll,indexOf函数的使用