안녕하세요, 현재 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
명령을 다른 것으로 변경 하여이 작업을 수행 할 수있었습니다.
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에서 작동하지 않습니다. "commands.cfg"파일의 Nagios "host-notify-by-mail"또는 "service-notify-by-mail"명령에 추가해야하는 플래그는 다음과 같습니다.
-a "From: john.doe@uzh.ch"
인용 부호는 필수입니다!
이것은에 정의되어 있습니다 etc/nagios3/conf.d/contacts_nagios2.cfg
이메일 및 그룹을 가진 사용자를 정의 할 수 있습니다. 또한 http 경고의 경우 web_admin, 호스트 경고의 경우 admin 등 다양한 목적으로 다른 그룹을 구성 할 수 있습니다.
를 들어 bsd-mailx
나의 /usr/bin/mail
내가 사용 있도록 명령 링크, 아무것도, 일 것 같았다 /usr/sbin/sendmail
같이 (후위에 의해 제공)
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