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-mail
ou 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@address
option à la commande mail, et cela devrait fonctionner.
/bin/mail
et 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.cfg
utilisant le admin_email
paramè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-mailx
ma /usr/bin/mail
commande, 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 sendmail
deux choses à considérer:
-r
pour spécifier le chemin de retour (et from-address)-s
de sujet. Au lieu de cela, ajoutez l'en- Subject:
tête du courrier dans le printf
suivi de deux retours à la ligne\n\n