Xác định địa chỉ email mà Nagios gửi email từ


16

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

nagios 

Câu trả lời:


14

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.


Đó là những gì tôi đã làm, và nó hoạt động tốt. Các thông báo khác nhau thực sự được gửi bởi các tài khoản khác nhau do chương trình bán vé tự động của chúng tôi.
chiều

1
Tôi đã thêm cái này vào giữa /bin/mail-s
jgritty

@RainyRat - bất kỳ cơ hội nào bạn có thể chỉnh sửa câu trả lời của mình để đặt -r làm tham số đầu tiên? - như các câu trả lời khác gợi ý sau đó rất vui khi nâng cao câu trả lời của bạn: o)
Dazed

3

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

3

Đặt -r nagios @ domain trước $ CONTACTEMAIL $ trên các lệnh.cfg


2

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.


1

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ừ'.


1

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 thay đổi địa chỉ Từ, nhưng nó không thay đổi địa chỉ Đường dẫn trả về. Bạn có thể muốn thay đổi cả hai.
Christopher K.

0

Đ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.


Trong cấu hình danh bạ, bạn định cấu hình người nhận thư được gửi, không phải địa chỉ người gửi . Câu hỏi này là về cách thay đổi địa chỉ người gửi ("nơi nó gửi thư từ ").
Christopher K.

0

Đố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:

  • Sử dụng -rđể chỉ định đường dẫn trả về (và từ địa chỉ)
  • Không có -scho chủ đề. Thay vào đó, hãy thêm Subject:tiêu đề thư printftheo sau bởi hai dòng mới\n\n
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.