สวัสดี Nagios ในขณะนี้ส่งการแจ้งเตือนจาก nagios@server.domain.com ฉันจะกำหนดค่าได้อย่างไร ขอบคุณ
สวัสดี Nagios ในขณะนี้ส่งการแจ้งเตือนจาก nagios@server.domain.com ฉันจะกำหนดค่าได้อย่างไร ขอบคุณ
คำตอบ:
ในการเริ่มต้น 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 และควรจะทำงาน
/bin/mail
และ-s
ไม่สามารถรับโซลูชัน "- -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
ใส่ -r nagios @ domain ข้างหน้า $ CONTACTEMAIL $ ในคำสั่ง.cfg
สิ่งที่ใช้ได้ผลสำหรับฉันคือการเพิ่ม-r $ADMINEMAIL$
ก่อน-s
(ทันทีหลังจาก/bin/mail
) และแน่นอน$ADMINEMAIL$
ต้องตั้งค่าnagios.cfg
โดยใช้การadmin_email
ตั้งค่า
ฉันสามารถทำได้โดยเปลี่ยนคำสั่งเป็นบางสิ่งบางอย่างเท็จ:
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 ของคุณ แต่อาจเป็นที่อยู่อีเมลใดก็ได้สำหรับที่อยู่ 'จาก'
ไม่สามารถใช้งานได้กับ Nagios และ / หรือ Postfix เวอร์ชันปัจจุบัน การตั้งค่าสถานะที่จำเป็นต้องเพิ่มลงในคำสั่ง Nagios "host-alert-by-mail" หรือ "service-alert-by-mail" คำสั่งในไฟล์ "actions.cfg" อ่านดังนี้:
-a "From: john.doe@uzh.ch"
โปรดทราบว่าเครื่องหมายคำพูดเป็นสิ่งจำเป็น!
สิ่งนี้ถูกกำหนดใน etc/nagios3/conf.d/contacts_nagios2.cfg
คุณสามารถกำหนดผู้ใช้ด้วยอีเมลและกลุ่ม นอกจากนี้คุณสามารถกำหนดค่ากลุ่มต่าง ๆ เพื่อจุดประสงค์ที่แตกต่างกัน - เช่น web_admin สำหรับการแจ้งเตือน http, ผู้ดูแลระบบสำหรับการแจ้งเตือนโฮสต์
สำหรับ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