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.