Définition de l'adresse e-mail à partir de laquelle Nagios envoie des e-mails


16

Salut, Nagios envoie actuellement des notifications de nagios@server.domain.com, comment dois-je procéder pour configurer cela? Merci

nagios 

Réponses:


14

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.


C'est ce que j'ai fait et cela a bien fonctionné. Différentes alertes sont envoyées par différents comptes grâce à notre programme de billetterie automatisé.
Breadly

1
J'ai ajouté cela entre /bin/mailet le-s
jgritty

@RainyRat - avez-vous des chances de modifier votre réponse pour placer le -r comme premier paramètre? - comme d'autres réponses le suggèrent alors heureux de voter pour votre réponse: o)
Dazed

3

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

3

Mettez -r nagios @ domain avant $ CONTACTEMAIL $ sur commandes.cfg


2

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.


1

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».


1

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!


Cela modifie l'adresse d'expéditeur, mais cela ne modifie pas l'adresse de chemin de retour. Vous voudrez peut-être changer les deux.
Christopher K.

0

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.


Dans la configuration des contacts, vous configurez les destinataires des mails envoyés, pas l' adresse de l' expéditeur . Cette question est sur la façon de changer l'adresse de l' expéditeur ( « où il envoie des messages électroniques à partir »).
Christopher K.

0

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:

  • Utilisez -rpour spécifier le chemin de retour (et from-address)
  • Il n'y a pas -sde sujet. Au lieu de cela, ajoutez l'en- Subject:tête du courrier dans le printfsuivi de deux retours à la ligne\n\n
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.