การกำหนดที่อยู่อีเมลที่ Nagios ส่งอีเมล


16

สวัสดี Nagios ในขณะนี้ส่งการแจ้งเตือนจาก nagios@server.domain.com ฉันจะกำหนดค่าได้อย่างไร ขอบคุณ

nagios 

คำตอบ:


14

ในการเริ่มต้น Nagios ติดตั้งก็ยังกำหนดไว้ในhost-notify-by-mailหรือคำสั่งซึ่งคุณจะพบในservice-notify-by-mail commands.cfgค่าเริ่มต้นจะเป็นดังนี้:

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

ดังนั้นเพียงแค่เพิ่ม-r sender@addressตัวเลือกในคำสั่ง mail และควรจะทำงาน


นั่นคือสิ่งที่ฉันทำและทำงานได้ดี การแจ้งเตือนที่แตกต่างกันได้รับการส่งออกโดยบัญชีที่แตกต่างกันเนื่องจากโปรแกรมจองตั๋วอัตโนมัติของเรา
39; s กว้าง ๆ

1
ฉันเพิ่มสิ่งนี้ระหว่าง/bin/mailและ-s
jgritty

@RainyRat - โอกาสใดที่คุณสามารถแก้ไขคำตอบของคุณเพื่อวาง -r เป็นพารามิเตอร์แรก? - เช่นเดียวกับคำตอบอื่น ๆ ขอแนะนำให้มีความสุขที่จะถอนคำตอบของคุณ: o)
งงงวย

3

ไม่สามารถรับโซลูชัน "- -r nagios@domain.com" ได้ ปรากฎตัวเลือกหลังจาก "-" เป็นตัวเลือกสำหรับ sendmail ดูที่ตัวเลือก sendmail ควรเป็น "-fnagios @ domain" หมายเหตุห้ามเว้นวรรคระหว่าง -f และ nagios@domain.com

ดังนั้นต่อไปนี้ทำงาน: -

  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


2

สิ่งที่ใช้ได้ผลสำหรับฉันคือการเพิ่ม-r $ADMINEMAIL$ก่อน-s(ทันทีหลังจาก/bin/mail) และแน่นอน$ADMINEMAIL$ต้องตั้งค่าnagios.cfgโดยใช้การadmin_emailตั้งค่า


1

ฉันสามารถทำได้โดยเปลี่ยนคำสั่งเป็นบางสิ่งบางอย่างเท็จ:

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$

ความมหัศจรรย์คือส่วน '- -r'

ADMINEMAIL ตั้งอยู่ใน nagios.cfg ของคุณ แต่อาจเป็นที่อยู่อีเมลใดก็ได้สำหรับที่อยู่ 'จาก'


1

ไม่สามารถใช้งานได้กับ Nagios และ / หรือ Postfix เวอร์ชันปัจจุบัน การตั้งค่าสถานะที่จำเป็นต้องเพิ่มลงในคำสั่ง Nagios "host-alert-by-mail" หรือ "service-alert-by-mail" คำสั่งในไฟล์ "actions.cfg" อ่านดังนี้:

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

โปรดทราบว่าเครื่องหมายคำพูดเป็นสิ่งจำเป็น!


สิ่งนี้เปลี่ยนจากที่อยู่ แต่จะไม่เปลี่ยนที่อยู่เส้นทางกลับ คุณอาจต้องการเปลี่ยนทั้งสองอย่าง
Christopher K.

0

สิ่งนี้ถูกกำหนดใน etc/nagios3/conf.d/contacts_nagios2.cfg

คุณสามารถกำหนดผู้ใช้ด้วยอีเมลและกลุ่ม นอกจากนี้คุณสามารถกำหนดค่ากลุ่มต่าง ๆ เพื่อจุดประสงค์ที่แตกต่างกัน - เช่น web_admin สำหรับการแจ้งเตือน http, ผู้ดูแลระบบสำหรับการแจ้งเตือนโฮสต์


ในการกำหนดค่าผู้ติดต่อคุณกำหนดค่าผู้รับของอีเมลที่ส่งไม่ใช่ที่อยู่ผู้ส่ง คำถามนี้เกี่ยวกับวิธีเปลี่ยนที่อยู่ผู้ส่ง ("ที่ส่งอีเมลจาก ")
Christopher K.

0

สำหรับbsd-mailxว่าฉัน/usr/bin/mailเชื่อมโยงคำสั่งไม่มีอะไรดูเหมือนจะทำงานดังนั้นผมจึงใช้/usr/sbin/sendmail(โดย postfix) เช่นนี้

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$

สำหรับsendmailสองสิ่งที่ต้องพิจารณา:

  • ใช้ -rเพื่อระบุเส้นทางย้อนกลับ (และจากที่อยู่)
  • ไม่มี-sสำหรับเรื่อง ให้เพิ่มSubject:ส่วนหัวของอีเมลแทนprintfตามด้วยบรรทัดใหม่สองบรรทัดแทน\n\n
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.