Menentukan alamat email dari mana Nagios mengirim email

16

Hai, saat ini Nagios mengirimkan pemberitahuan dari [email protected], Bagaimana cara mengonfigurasi ini? Terima kasih


sumber

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.

RainyRat
sumber
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 [email protected]" untuk bekerja. Ternyata opsi setelah "-" adalah opsi untuk sendmail. Melihat opsi sendmail, itu harus "-fnagios @ domain". CATATAN TANPA RUANG antara -f dan [email protected].

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$ -- [email protected]
Nagios_Noob
sumber
3

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

astroneo
sumber
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.

Albert Braden
sumber
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'.

jizaymes
sumber
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: [email protected]"

Perhatikan bahwa tanda kutip sangat penting!

aag
sumber
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.

HogFather
sumber
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 "[email protected]" $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
Christopher K.
sumber