ウェブサイト検索

電子メールアラートを Gmail アカウントに送信するように Zabbix をセットアップする方法


インフラストラクチャの監視に Zabbix を使用している場合は、メール付きの有効な登録済みインターネット ドメイン名を所有していない場合でも、パブリック インターネット ドメイン上のどこかにあるローカル ドメインから電子メール アラートを受信したい場合があります。自分で設定できるサーバー。

このチュートリアルでは、SSMTP プログラムを使用してメール レポートを Gmail アドレスに送信するための Zabbix サーバーをセットアップする方法について簡単に説明します。 PostfixEximなどのローカル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 プログラムを構成します。お気に入りのテキスト エディターと root 権限で編集するには、次のパラメーター設定を使用します。

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 では、アカウントからサーバーへのさまざまな種類の認証が禁止されているため、「メール: メッセージを送信できません: プロセスがゼロ以外のステータスで終了しました」というメッセージが表示されたら、ブラウザから Gmail アカウントにログインし、次のリンク https://www.google.com/settings/security/ に移動します。次の画面のように、安全性の低いアプリへのアクセスを許可するには、lesssecureapps を使用します。

5. Gmail アカウントで 安全性の低いアプリ 機能をオンにした後、上記のメール コマンドを再度実行し、受信トレイを確認します。ローカルで生成されたメールが正常に配信されたかどうかを数秒で確認します。通常は、メールが Gmail から受信されていることが確認できるはずです。

ステップ 3: Zabbix Sendmail スクリプトを構成する

6. さらに、$ (what mail) コマンドに基づいて、次の内容を含む次の Bash スクリプトを Zabbix の alertscripts ディレクトリに作成します。実行権限を与えます。

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 Web インターフェイスにログインし、次のメニューに移動します: 管理 -> メディア タイプ -> メディア タイプの作成

9. 次の画面で、Zabbix 設定内のスクリプトを一意に識別するための任意の名前を入力します(この例では電子メール送信) - スクリプトが使用されます)、リストからタイプとしてスクリプトを選択し、前に作成した Bash スクリプトの名前 (zabbix-sendmail ) を入力します。 を使用してコマンド ラインから電子メールを送信します (スクリプトのパスは使用せず、スクリプト名のみを使用します)。完了したら、下の [追加] ボタンをクリックして変更を反映します。

10. さらに、Zabbix アラートの送信先となる電子メール アドレスを設定しましょう。 [プロフィール] -> [メディア] -> [追加] に移動すると、新しいポップアップ ウィンドウが表示されます。

ここで、タイプとして、以前に名前を付けたスクリプトの名前を選択し(この例ではSend-Email-Scriptが使用されています)、Gmailを入力します。 メールの送信先アドレス、メール レポートの送信を有効にする期間 (週、時間) を選択、Gmail アドレスで受信するメッセージの重要度を選択、有効<ステータスとして選択し、追加ボタンを押してメディアを追加します。最後に更新ボタンを押して設定を適用します。

11. 次のステップで、設定 -> アクション に移動し、イベント ソース<> として選択して、デフォルトの Zabbix アラートを有効にします。 – > 右側のメニューからトリガーを選択し、無効ステータスを押して有効にします。 イベント ソース – > 内部またはその他のカスタム作成アクションに対してこの手順を繰り返して、完了です。

Zabbix が情報収集を開始してレポートを生成するまでしばらく待ってから、Gmail 受信トレイを確認すると、いくつかのZabbix アラートが送信されているのが確認できるはずです。これまでのところ。

それだけです!このガイドは主に、Gmail SMTP サーバーをメールハブとして使用して Zabbix アラートを Gmail アカウントに送信することに重点を置いていますが、同じ設定を使用して、次の方法で Zabbix 電子メール アラートを他の有効なインターネット電子メール アカウントにプッシュすることもできます。 Gmail を利用して SMTP サーバー経由でメールをルーティングします。