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-mail
hoặc service-notify-by-mail
lệ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@address
tùy chọn cho lệnh mail, và nó sẽ hoạt động.
/bin/mail
và-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.cfg
bằng cách sử dụng admin_email
cà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-mailx
của tôi /usr/bin/mail
liê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 sendmail
hai điều cần xem xét:
-r
để chỉ định đường dẫn trả về (và từ địa chỉ)-s
cho chủ đề. Thay vào đó, hãy thêm Subject:
tiêu đề thư printf
theo sau bởi hai dòng mới\n\n