Definizione dell'indirizzo e-mail da cui Nagios invia e-mail


16

Salve, attualmente Nagios invia notifiche da nagios@server.domain.com, come posso fare per configurarlo? Grazie

nagios 

Risposte:


14

In un'installazione Nagios predefinita, è anche definito nei comandi host-notify-by-mailo service-notify-by-mail, che troverai commands.cfg. L'impostazione predefinita sarebbe qualcosa del tipo:

/bin/echo -e "$NOTIFICATIONTYPE$ - Service notification for $SERVICEDESC$ from host $HOSTNAME$ - $HOSTALIAS$\n$SERVICEDESC$: $SERVICEOUTPUT$\n" | /bin/mail -s '$NOTIFICATIONTYPE$/$SERVICESTATE$ - $HOSTNAME$/$SERVICEDESC$' $CONTACTEMAIL$

Quindi aggiungi -r sender@addressun'opzione al comando mail e dovrebbe funzionare.


Questo è quello che ho fatto e ha funzionato bene. Diversi avvisi vengono effettivamente inviati da account diversi a causa del nostro programma di biglietteria automatica.
breadly

1
Ho aggiunto questo tra /bin/mailil-s
jgritty il

@RainyRat - hai qualche possibilità di modificare la tua risposta per posizionare -r come primo parametro? - come suggeriscono altre risposte, allora felice di votare la tua risposta: o)
Stupito

3

Impossibile far funzionare la soluzione "- -r nagios@domain.com". Le opzioni dopo "-" sono opzioni per sendmail. Guardando le opzioni di sendmail, dovrebbe essere "-fnagios @ domain" NOTA NESSUNO SPAZIO tra -f e nagios@domain.com.

Quindi ora funziona come segue: -

  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

Inserisci -r nagios @ domain prima di $ CONTACTEMAIL $ su command.cfg


2

Quello che ha funzionato per me è stato aggiungere -r $ADMINEMAIL$prima di -s(immediatamente dopo /bin/mail), e ovviamente $ADMINEMAIL$deve essere impostato nagios.cfgusando l' admin_emailimpostazione.


1

Sono stato in grado di farlo modificando il comando in qualcosa di debole:

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 magia è la parte '- -r'.

ADMINEMAIL è impostato in nagios.cfg, ma potrebbe essere qualsiasi indirizzo e-mail per l'indirizzo "Da".


1

Nessuna delle opzioni precedenti funziona con le versioni correnti di Nagios e / o Postfix. Il flag che deve essere aggiunto ai comandi Nagios "host-notification-by-mail" o "service-notification-by-mail" nel file "comandi.cfg" recita come segue:

-a "From: john.doe@uzh.ch"

Si noti che le virgolette sono essenziali!


Ciò modifica l'indirizzo del mittente, ma non l'indirizzo del percorso di ritorno. Potresti voler cambiare entrambi.
Christopher K.,

0

Questo è definito in etc/nagios3/conf.d/contacts_nagios2.cfg

È possibile definire gli utenti con e-mail e gruppi. Inoltre è possibile configurare gruppi diversi per scopi diversi, ad esempio web_admin per avvisi http, admin per avvisi host, ecc.


Nella configurazione dei contatti, si configurano i destinatari delle e-mail inviate, non l' indirizzo del mittente . Questa domanda è su come modificare l'indirizzo del mittente ( "dove si invia mail da ").
Christopher K.,

0

Per cui il bsd-mailxmio /usr/bin/mailcomando si collega a, nulla sembrava funzionare, quindi ho usato /usr/sbin/sendmail(fornito da postfix) in questo modo:

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$

Per sendmaildue cose da considerare:

  • Utilizzare -rper specificare il percorso di ritorno (e l'indirizzo di provenienza)
  • Non c'è -sper l'argomento. Invece, aggiungi l' Subject:intestazione di posta nel printfseguito da due nuove righe\n\n
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.