nagios使用邮件来告警通知是很常见的一种方式。
1. 使用sendEmail来发送邮件
sendEmail工具非常好用。具体内容参见:
2. 创建一个联系人
1
2
3
4
5
6
7
8
9
10
11
12
|
# vim /usr/local/nagios/etc/objects/contacts.cfg
define contact{
contact_name mobei
alias mobei
service_notification_period 24×7
host_notification_period 24×7
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. 创建一个组
1
2
3
4
5
|
define contactgroup{
contactgroup_name ops
alias ops
members mobei
}
|
4. 修改发送邮件命令
1
2
3
4
5
6
7
8
9
10
11
12
|
# 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. 指定监控项目。如:
1
2
3
4
5
6
7
|
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
}
|