Hej...
Jeg sidder i øjeblikket og er ved at inplementere nagios som overvågning af servere på openSuse. Og dertil vil det være godt at kunne få tilsendt notifications via mail. Jeg har fået sendEmail til at sende mails, det var ikke det svære. Det svære ligge i at configurer Nagios' command.cfg til at kunne bruge sendEmail.
Nagios har i command.cfg en command der er som følgende:
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: $HOSTNAMES is $HOSTSTATE$ **" $CONTACTEMAIL$
}
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: $HOSTADDRES$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIMES$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ *" $CONTACTEMAIL$
}
Her er så den command jeg har læst mig frem til som det burde være med sendEmail:
define command{
command_name notify-service-by-sendEmail
command_line /usr/bin/sendEmail -f "den@email_det_sendes_fra.dk" -t "den@email_der_modtager.dk" -u $NOTIFICATIONTYPE$ -m Service: $SERVICEDESC$\nHost: $HOSTALIAS$\nAdress:$HOSTADDRESS$\nState: $SERVICESTATE$\n\Date/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$ -s "smpt.server.dk"
}
Bruger jeg den command line til sendEmail direkt i en terminal så fungere det fint.
Så mit spørgsmål er kun, hvad gør jeg forkert?
/MaHeJo
20-04-2005
har du defineret under standard konfigurationen - at den skal bruge notify-service-by-sendEmail fremfor notify-service-by-email ???
Dette kan være en af punkterne - hvorefter tidsrammen du definerer også skal passe!
17-04-2008
jeg ha forsøgt at finde den .cfg fil som de settings bliveer sat, men den findes så ikke, det kan jeg se bliver gjord i den der hedder contacts.cfg
Så der sætter jeg den op som jeg fandt et eksempel om:
# 'nagios' contact definition
define contact{
contact_name nagios
alias Nagios Admin
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email nagios@localhost.localdomain
}
Men lige lidt gør det. Dog får jeg en fejl-registrering vis jeg ikke skriver notify-by-email eller notify-by-sendEmail, da den ikke kan finde andre command lines. Men om det skal skrives i contact.cfg eller et andet sted, det kan jeg ikke se.