Nagios가 이메일을 보내는 이메일 주소 정의


16

안녕하세요, 현재 Nagios는 nagios@server.domain.com에서 알림을 보냅니다. 어떻게 구성 할 수 있습니까? 감사

nagios 

답변:


14

기본 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@addressmail 명령에 옵션을 추가하면 작동합니다.


그것이 내가 한 일이며 잘 작동했습니다. 자동화 된 발권 프로그램으로 인해 다른 계정으로 다른 알림이 발송됩니다.
breadly

1
나는 사이에 이것을 추가 /bin/mail하고-s
jgritty

@RainyRat-대답을 편집하여 -r을 첫 번째 매개 변수로 배치 할 수 있습니까? -다른 답변에서 다음과 같이 답변을 찬성하여 기뻐합니다 : o)
Dazed

3

"--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

3

commands.cfg에서 $ CONTACTEMAIL $ 앞에 -r nagios @ domain을 입력하십시오.


2

나를 위해 일한 -r $ADMINEMAIL$것은 -s(바로 직후 /bin/mail) 앞에 추가되었으며 물론 $ADMINEMAIL$설정을 nagios.cfg사용하여 admin_email설정 해야 합니다.


1

명령을 다른 것으로 변경 하여이 작업을 수행 할 수있었습니다.

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에 설정되어 있지만 '보낸 사람'주소의 전자 메일 주소 일 수 있습니다.


1

위의 어느 것도 현재 버전의 Nagios 및 / 또는 Postfix에서 작동하지 않습니다. "commands.cfg"파일의 Nagios "host-notify-by-mail"또는 "service-notify-by-mail"명령에 추가해야하는 플래그는 다음과 같습니다.

-a "From: john.doe@uzh.ch"

인용 부호는 필수입니다!


이렇게하면 발신 주소가 변경되지만 반송 경로 주소는 변경되지 않습니다. 둘 다 변경하고 싶을 수도 있습니다.
Christopher K.

0

이것은에 정의되어 있습니다 etc/nagios3/conf.d/contacts_nagios2.cfg

이메일 및 그룹을 가진 사용자를 정의 할 수 있습니다. 또한 http 경고의 경우 web_admin, 호스트 경고의 경우 admin 등 다양한 목적으로 다른 그룹을 구성 할 수 있습니다.


연락처 구성 에서 보낸 사람 주소가 아닌 보낸 메일 의 받는 사람 을 구성합니다 . 이 질문은 발신자 주소 ( "에서 메일 보내는 위치 ") 를 변경하는 방법에 관한 것 입니다.
Christopher K.

0

를 들어 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.