Salut, Nagios envoie actuellement des notifications de nagios@server.domain.com, comment dois-je procéder pour configurer cela? Merci
Salut, Nagios envoie actuellement des notifications de nagios@server.domain.com, comment dois-je procéder pour configurer cela? Merci
Réponses:
Dans une installation par défaut de Nagios, il est également défini dans les commandes host-notify-by-mailou service-notify-by-mail, que vous trouverez dans commands.cfg. La valeur par défaut serait quelque chose comme:
/bin/echo -e "$NOTIFICATIONTYPE$ - Service notification for $SERVICEDESC$ from host $HOSTNAME$ - $HOSTALIAS$\n$SERVICEDESC$: $SERVICEOUTPUT$\n" | /bin/mail -s '$NOTIFICATIONTYPE$/$SERVICESTATE$ - $HOSTNAME$/$SERVICEDESC$' $CONTACTEMAIL$
Il suffit donc d'ajouter une -r sender@addressoption à la commande mail, et cela devrait fonctionner.
/bin/mailet le-s
Impossible de faire fonctionner la solution "- -r nagios@domain.com". Il s'avère que les options après "-" sont des options pour sendmail. En regardant les options de sendmail, il devrait s'agir de "-fnagios @ domain". REMARQUE PAS D'ESPACE entre -f et nagios@domain.com.
Donc, ce qui suit fonctionne maintenant: -
command_line /usr/bin/printf "%b" "Notification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTNAME$\Address: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$LONGSERVICEOUTPUT$" | /bin/mail -s "$SERVICESTATE$ - Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ -- -fnagios@domain.com
Ce qui a fonctionné pour moi, c'était l'ajout -r $ADMINEMAIL$avant le -s(immédiatement après /bin/mail), et bien sûr, $ADMINEMAIL$il faut le définir en nagios.cfgutilisant le admin_emailparamètre.
J'ai pu le faire en changeant la commande en quelque chose de liek:
command_line /usr/bin/printf "%b" "Notification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTNAME$\Address: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$LONGSERVICEOUTPUT$" | /bin/mail -s "$SERVICESTATE$ - Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ -- -r $ADMINEMAIL$
La magie est la partie «- -r».
ADMINEMAIL est défini dans votre nagios.cfg, mais peut être n'importe quelle adresse e-mail pour l'adresse «De».
Aucun de ces éléments ne fonctionne avec les versions actuelles de Nagios et / ou Postfix. L'indicateur qui doit être ajouté aux commandes Nagios "host-notify-by-mail" ou "service-notify-by-mail" dans le fichier "command.cfg" se lit comme suit:
-a "From: john.doe@uzh.ch"
Notez que les guillemets sont essentiels!
Ceci est défini dans etc/nagios3/conf.d/contacts_nagios2.cfg
Vous pouvez définir des utilisateurs avec des e-mails et des groupes. Vous pouvez également configurer différents groupes à des fins différentes - par exemple, web_admin pour les alertes http, admin pour les alertes d'hôte, etc.
Pour le lien vers bsd-mailxma /usr/bin/mailcommande, rien ne semblait fonctionner, alors j'ai utilisé /usr/sbin/sendmail(fourni par postfix) comme ceci:
command_line /usr/bin/printf "%b" "Subject:** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **\n\n**** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/sbin/sendmail -r "nagios@example.com" $CONTACTEMAIL$
Pour sendmaildeux choses à considérer:
-rpour spécifier le chemin de retour (et from-address)-sde sujet. Au lieu de cela, ajoutez l'en- Subject:tête du courrier dans le printfsuivi de deux retours à la ligne\n\n