我configuration了nagios电子邮件通知,并遵循以下步骤:
sSMTPconfiguration:
#apt-get install ssmtp #vi /etc/ssmtp/ssmtp.conf [email protected] mailhub=smtp.gmail.com:587 rewriteDomain= hostname=mycomputerName UseTLS=YES UseSTARTTLS=YES AuthMethod=LOGIN [email protected] AuthPass=sender.email.password FromLineOverride=YES #chmod 640 /etc/ssmtp/ssmtp.conf
Nagiosconfiguration:
#vi /etc/nagios3/conf.d/localhost_nagios2.cfg define host{ use generic-host ; Name of host template to use host_name localhost alias localhost address xxx187 check_command check-host-alive max_check_attempts 10 notification_interval 120 notification_period 24x7 notification_options d,r contact_groups admins } #vi /etc/nagios3/conf.d/timeperiods_nagios2.cfg define timeperiod{ timeperiod_name 24x7 alias 24 Hours A Day, 7 Days A Week sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00 } #vi /etc/nagios3/conf.d/contacts_nagios2.cfg define contact{ contact_name localhost alias localhost service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,r service_notification_commands notify-by-email host_notification_commands host-notify-by-email email [email protected] } define contactgroup{ contactgroup_name admins alias Nagios Administrators members localhost } #vi /etc/nagios3/conf.d/services_nagios2.cfg define service{ use generic-service host_name localhost service_description SSH is_volatile 0 check_period 24x7 max_check_attempts 4 normal_check_interval 5 retry_check_interval 1 contact_groups admins notification_interval 960 notification_period 24x7 check_command check_ssh }
通过电子邮件通知命令:
define command{ command_name notify-by-email command_line /usr/bin/printf "%b" "***** Nagios @VERSION@ *****\n \nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$OUTPUT$" | @MAIL_PROG@ -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ }
configurationnagios后,我已经重新启动SSH,但不发送电子邮件通知。
新
'notify-host-by-email'命令定义
define command{ command_name notify-host-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$ }
'notify-service-by-email'命令定义
define command{ command_name notify-service-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ }
由于您在/var/log/maillog看到以下行:
sSMTP[5532]: /etc/ssmtp/ssmtp.conf not found
虽然它存在:
-rw-r----- 1 root mail 682 Aug 9 11:23 /etc/ssmtp/ssmtp.conf
我怀疑你没有添加nagios用户到mail组。 通过以下命令执行:
# usermod -a -G mail nagios
然后再试一次。