nagios使用邮件来告警通知是很常见的一种方式。
1. 使用sendEmail来发送邮件
sendEmail工具非常好用。具体内容参见:
2. 创建一个联系人
# vim /usr/local/nagios/etc/objects/contacts.cfg
define contact{
contact_name mobei
alias mobei
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c
host_notification_options d,u
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
email 【You email address】
}
3. 创建一个组
define contactgroup{
contactgroup_name ops
alias ops
members mobei
}
4. 修改发送邮件命令
# vim /usr/local/nagios/etc/objects/commands.cfg
# 'notify-host-by-email' command definition
define command{
command_name notify-host-by-email
command_line /usr/local/bin/sendEmail -l /tmp/sendEmail.log -f jiank@126.com -t $CONTACTEMAIL$ -s smtp.126.com -u "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" -xu jiank@126.com -xp jiankong -m "Service: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$ State: $SERVICESTATE$\nDate/Time: $SHORTDATETIME$\nInfo:$SERVICEOUTPUT$"
}
# 'notify-service-by-email' command definition
define command{
command_name notify-service-by-email
command_line /usr/local/bin/sendEmail -l /tmp/sendEmail.log -f jiank@126.com -t $CONTACTEMAIL$ -s smtp.126.com -u "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" -xu jiank@126.com -xp jiankong -m "Service: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$ State: $SERVICESTATE$\nDate/Time: $SHORTDATETIME$\nInfo:$SERVICEOUTPUT$"
}
5. 指定监控项目。如:
define service {
use generic-service
hostgroup_name Mongo Servers
service_description Mongo Mapped Memory Usage
check_command check_mongodb!10.0.0.160!12345!'ttlsa'!'www.ttlsa.com'!memory_mapped!20!28
contact_groups ops
}
转载请注明:爱开源 » nagios mail告警通知