웹사이트 검색

Gmail 계정에 이메일 알림을 보내도록 Zabbix를 설정하는 방법


Zabbix를 사용하여 인프라를 모니터링하는 경우 메일로 유효한 등록 인터넷 도메인 이름을 소유하지 않은 경우에도 공용 인터넷 도메인의 로컬 도메인에서 이메일 알림을 받고 싶을 수 있습니다. 직접 구성할 수 있는 서버입니다.

이 튜토리얼에서는 SSMTP 프로그램을 사용하여 Gmail 주소로 메일 보고서를 보내도록 Zabbix 서버를 설정하는 방법을 간략하게 설명합니다. Postfix, Exim 등과 같은 로컬 MTA 데몬을 설치하고 구성합니다.

요구사항

  • RHEL/CentOS 및 Debian/Ubuntu에 Zabbix를 설치하는 방법 – 1부

1단계: SSMTP 설치 및 구성

1. SSMTP는 메일 서버의 기능을 전혀 수행하지 않고 로컬 시스템에서 외부 이메일 주소로만 이메일을 전달하는 작은 소프트웨어입니다. 메일허브.

메일을 보내는 데 사용할 mailutils 패키지와 함께 SSMTP 프로그램을 설치하려면 RedHat 기반 배포판 및 Debian 유사 서버에서 다음 명령을 실행하세요.

yum install msmtp mailx               [On RHEL/CentOS] 
sudo apt-get install ssmtp mailutils       [On Debian/Ubuntu]

2. 패키지가 시스템에 설치된 후 기본 구성 파일을 열어 Gmail 계정으로 로컬 이메일을 보내도록 SSMTP 프로그램을 구성합니다. 선호하는 텍스트 편집기와 루트 권한으로 편집하려면 다음 매개변수 설정을 사용하세요.

vi /etc/msmtprc                       [On RHEL/CentOS]
sudo nano /etc/ssmtp/ssmtp.conf            [On Debian/Ubuntu]

GMAIL 계정에 대한 MSMTP 설정입니다.

#set default values for all following accounts.
defaults
auth           on
tls            on
tls_trust_file    /etc/pki/tls/certs/ca-bundle.crt
logfile        ~/.msmtp.log
Gmail
account        gmail
host           smtp.gmail.com
port           587
from           [email 
user           [email 
password       gmailpassword

Set a default account
account default : gmail

GMAIL 계정에 대한 SSMTP 설정입니다.

[email 
mailhub=smtp.gmail.com:587
rewriteDomain=your_local_domain
hostname=your_local_FQDN
UseTLS=Yes
UseSTARTTLS=Yes
AuthUser=Gmail_username
AuthPass=Gmail_password
FromLineOverride=YES

2단계: Zabbix 이메일 경고에 대한 Gmail 테스트

3. 다음 단계에서는 아래 명령을 실행하여 로컬에서 생성된 이메일을 Gmail 계정으로 보낼 차례입니다.

echo "Body test email from 'hostname -f' "| mail -s "subject here" [email 

4. 일반적으로 Gmail은 귀하의 계정에서 서버에 대한 다양한 유형의 인증을 방지하므로 'mail: 메시지를 보낼 수 없습니다: 0이 아닌 상태로 프로세스가 종료되었습니다 '라는 메시지를 보낸 후 브라우저에서 Gmail 계정에 로그인하고 다음 링크(https://www.google.com/settings/security/)로 이동하세요. lesssecureapps를 사용하여 다음 화면과 같이 보안 수준이 낮은 앱에 대한 액세스를 허용합니다.

5. Gmail 계정에서 보안 수준이 낮은 앱 기능을 켠 후 위의 메일 명령을 다시 실행하고 잠시 후 받은편지함을 확인하세요. 로컬에서 생성된 이메일이 성공적으로 전달되었는지 확인하는 데 몇 초가 소요됩니다. 일반적으로 Gmail에서 이메일이 수신되는 것을 확인할 수 있습니다.

3단계: Zabbix Sendmail 스크립트 구성

6. 또한 $(어떤 메일) 명령을 기반으로 다음 콘텐츠와 함께 Zabbix alertscripts 디렉토리에 다음 Bash 스크립트를 생성합니다. 실행 권한을 부여합니다.

vi /usr/local/share/zabbix/alertscripts/zabbix-sendmail            [On RHEL/CentOS]
sudo nano /usr/local/share/zabbix/alertscripts/zabbix-sendmail     [On Debian/Ubuntu]

스크립트 내용:

#!/bin/bash
echo "$3" | /usr/bin/mail -s "$2" $1

다음으로 스크립트 파일에 대한 실행 권한을 설정합니다.

chmod +x /usr/local/share/zabbix/alertscripts/zabbix-sendmail

7. 다음으로 이전과 마찬가지로 로컬 Gmail 계정으로 이메일을 보내 스크립트 기능을 테스트합니다. 위치 매개변수를 사용하여 스크립트를 실행하는 방법은 위에 설명되어 있습니다.

/usr/local/share/zabbix/alertscripts/zabbix-sendmail [email  "Subject here" "Body of the message here"

그런 다음 Gmail 받은편지함을 확인하고 새 로컬 메시지가 도착했는지 확인하세요.

4단계: Gmail로 경고를 보내도록 Zabbix 구성

8. 지금까지의 테스트가 성공하면 다음 단계로 이동하여 생성된 이메일 알림을 Gmail로 보내도록 Zabbix를 설정할 수 있습니다. 먼저 Zabbix 웹 인터페이스에 로그인하고 다음 메뉴로 이동합니다: 관리 -> 미디어 유형 -> 만들기 미디어 유형.

9. 다음 화면에서 임의의 이름을 입력하여 Zabbix 구성에서 스크립트를 고유하게 식별합니다(이 예에서는 Send-Email). -Script가 사용됨) 목록에서 Type으로 Script를 선택하고 이전에 생성한 Bash 스크립트의 이름을 입력합니다(zabbix-sendmail Strong>을 사용하여 명령줄에서 이메일을 보냅니다(스크립트 경로는 사용하지 않고 스크립트 이름만 사용). 완료되면 아래의 추가 버튼을 눌러 변경사항을 반영하세요.

10. 또한 Zabbix 알림을 보낼 이메일 주소를 구성해 보겠습니다. 프로필 -> 미디어 -> 추가로 이동하면 새 팝업 창이 나타납니다.

여기에서 유형에 이전에 명명한 스크립트 이름(이 예에서는 Send-Email-Script이 사용됨)을 선택하고 Gmail을 입력합니다. Strong> 이메일을 보낼 주소를 선택하고, 이메일 보고서가 전송을 위해 활성화되어야 하는 기간(주, 시간)을 선택하고, Gmail 주소로 받고 싶은 메시지의 심각도를 선택하고, 활성화<를 선택하세요.상태로 설정하고 추가 버튼을 눌러 미디어를 추가하세요. 마지막으로 업데이트 버튼을 눌러 구성을 적용합니다.

11. 다음 단계에서 구성 -> 작업으로 이동하여 기본 Zabbix 알림을 활성화하고 이벤트 소스<로 선택합니다. – > 오른쪽 메뉴에서 트리거를 선택하고 비활성화 상태를 눌러 활성화하세요. 이벤트 소스 – > 내부 또는 기타 맞춤 생성 작업에 대해 단계를 반복하면 완료됩니다.

Zabbix가 정보 수집을 시작하고 일부 보고서를 생성할 때까지 잠시 기다린 후 Gmail 받은 편지함을 확인하면 일부 Zabbix 알림이 제출된 것을 볼 수 있습니다. 지금까지.

그게 다야! 이 가이드는 주로 Gmail SMTP 서버를 메일 허브로 사용하여 Zabbix 알림을 Gmail 계정으로 보내는 데 중점을 두었지만 동일한 구성을 사용하여 Zabbix 이메일 알림을 다른 유효한 인터넷 이메일 계정으로 푸시할 수도 있습니다. Gmail을 사용하여 SMTP 서버를 통해 이메일을 라우팅합니다.