Xin chào, hiện tại Nagios gửi thông báo từ nagios@server.domain.com, làm cách nào để cấu hình cái này? Cảm ơn
Xin chào, hiện tại Nagios gửi thông báo từ nagios@server.domain.com, làm cách nào để cấu hình cái này? Cảm ơn
Câu trả lời:
Trong cài đặt Nagios mặc định, nó cũng được xác định trong các lệnh host-notify-by-mailhoặc service-notify-by-maillệnh mà bạn sẽ tìm thấy commands.cfg. Mặc định sẽ là một cái gì đó như:
/bin/echo -e "$NOTIFICATIONTYPE$ - Service notification for $SERVICEDESC$ from host $HOSTNAME$ - $HOSTALIAS$\n$SERVICEDESC$: $SERVICEOUTPUT$\n" | /bin/mail -s '$NOTIFICATIONTYPE$/$SERVICESTATE$ - $HOSTNAME$/$SERVICEDESC$' $CONTACTEMAIL$
Vì vậy, chỉ cần thêm một -r sender@addresstùy chọn cho lệnh mail, và nó sẽ hoạt động.
/bin/mailvà-s
Không thể làm cho giải pháp "- -r nagios@domain.com" hoạt động. Hóa ra các tùy chọn sau "-" là các tùy chọn cho sendmail. Nhìn vào các tùy chọn sendmail, nó phải là "-fnagios @ domain" LƯU Ý KHÔNG CÓ KHÔNG GIAN giữa -f và nagios@domain.com.
Vì vậy, sau đây đang hoạt động: -
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
Những gì làm việc cho tôi là thêm -r $ADMINEMAIL$trước -s(ngay sau đó /bin/mail), và tất nhiên $ADMINEMAIL$phải được thiết lập nagios.cfgbằng cách sử dụng admin_emailcài đặt.
Tôi đã có thể làm điều này bằng cách thay đổi lệnh thành một cái gì đó dối trá:
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$
Phép thuật là phần '- -r'.
ADMINEMAIL được đặt trong nagios.cfg của bạn, nhưng có thể là bất kỳ địa chỉ email nào cho địa chỉ 'Từ'.
Không có tính năng nào ở trên hoạt động với các phiên bản hiện tại của Nagios và / hoặc Postfix. Cờ cần được thêm vào các lệnh "host-notify-by-mail" hoặc "dịch vụ thông báo qua thư" của Nagios trong tệp "Command.cfg" đọc như sau:
-a "From: john.doe@uzh.ch"
Lưu ý rằng các dấu ngoặc kép là rất cần thiết!
Điều này được định nghĩa trong etc/nagios3/conf.d/contacts_nagios2.cfg
Bạn có thể xác định người dùng với e-mail và nhóm. Ngoài ra, bạn có thể định cấu hình các nhóm khác nhau cho các mục đích khác nhau - ví dụ: web_admin cho cảnh báo http, quản trị viên cho cảnh báo máy chủ, v.v.
Đối với lệnh bsd-mailxcủa tôi /usr/bin/mailliên kết đến, dường như không có gì hoạt động, vì vậy tôi đã sử dụng /usr/sbin/sendmail(được cung cấp bởi postfix) như thế này:
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$
Đối với sendmailhai điều cần xem xét:
-rđể chỉ định đường dẫn trả về (và từ địa chỉ)-scho chủ đề. Thay vào đó, hãy thêm Subject:tiêu đề thư printftheo sau bởi hai dòng mới\n\n