Menentukan alamat email dari mana Nagios mengirim email


16

Hai, saat ini Nagios mengirimkan pemberitahuan dari nagios@server.domain.com, Bagaimana cara mengonfigurasi ini? Terima kasih

nagios 

Jawaban:


14

Dalam instalasi Nagios default, ini juga ditentukan dalam host-notify-by-mailatau service-notify-by-mailperintah, yang akan Anda temukan di commands.cfg. Defaultnya akan seperti:

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

Jadi tambahkan saja -r sender@addressopsi ke perintah mail, dan itu akan berhasil.


Itu yang saya lakukan, dan itu bekerja dengan baik. Lansiran berbeda sebenarnya dikirim oleh akun yang berbeda karena program tiket otomatis kami.
breadly

1
Saya menambahkan ini antara /bin/maildan-s
jgritty

@ RainyRat - setiap kesempatan Anda dapat mengedit jawaban Anda untuk menempatkan -r sebagai parameter pertama? - seperti yang disarankan oleh jawaban lain, maka dengan senang hati untuk mengubah jawaban Anda: o)
Dazed

3

Tidak bisa mendapatkan solusi "- -r nagios@domain.com" untuk bekerja. Ternyata opsi setelah "-" adalah opsi untuk sendmail. Melihat opsi sendmail, itu harus "-fnagios @ domain". CATATAN TANPA RUANG antara -f dan nagios@domain.com.

Jadi yang berikut ini sekarang berfungsi: -

  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

Masukkan -r nagios @ domain sebelum $ CONTACTEMAIL $ pada commands.cfg


2

Apa yang berhasil bagi saya adalah menambahkan -r $ADMINEMAIL$sebelum -s(segera setelah /bin/mail), dan tentu saja $ADMINEMAIL$harus diatur dalam nagios.cfgmenggunakan admin_emailpengaturan.


1

Saya dapat melakukan ini dengan mengubah perintah menjadi sesuatu seperti:

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$

Keajaiban adalah bagian '- -r'.

ADMINEMAIL diatur di nagios.cfg Anda, tetapi bisa berupa alamat email apa pun untuk alamat 'Dari'.


1

Tidak ada satu pun di atas yang berfungsi dengan versi Nagios dan / atau Postfix saat ini. Bendera yang perlu ditambahkan ke Nagios "host-notify-by-mail" atau "service-notify-by-mail" perintah dalam file "commands.cfg" berbunyi sebagai berikut:

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

Perhatikan bahwa tanda kutip sangat penting!


Ini mengubah Dari-alamat, tetapi itu tidak mengubah alamat-Jalur Kembali. Anda mungkin ingin mengubah keduanya.
Christopher K.

0

Ini didefinisikan dalam etc/nagios3/conf.d/contacts_nagios2.cfg

Anda dapat mendefinisikan pengguna dengan email dan grup. Anda juga dapat mengonfigurasi grup yang berbeda untuk tujuan yang berbeda - mis. Web_admin untuk peringatan http, admin untuk peringatan host, dll.


Di konfigurasi kontak, Anda mengonfigurasi penerima surat yang dikirim, bukan alamat pengirim . Pertanyaan ini adalah tentang bagaimana mengubah alamat pengirim ( "di mana ia mengirimkan mail dari ").
Christopher K.

0

Untuk bsd-mailxitu /usr/bin/mailperintah saya tertaut, sepertinya tidak ada yang berhasil, jadi saya menggunakan /usr/sbin/sendmail(disediakan oleh postfix) seperti ini:

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$

Untuk sendmail dua hal yang perlu dipertimbangkan:

  • Menggunakan -r untuk menentukan jalur balik (dan dari alamat)
  • Tidak ada -suntuk subjek. Sebagai gantinya, tambahkan Subject:header email di printfdiikuti oleh dua baris baru\n\n
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.