Centos7 Zabbix3.4 メールアラーム設定(メール内容がxx.bin添付ファイルになる問題の解決)

Centos7 Zabbix3.4 メールアラーム設定(メール内容がxx.bin添付ファイルになる問題の解決)

1. 監視Linuxホストを追加する

1. 構成 - ホスト - ホストの作成

2. 情報を入力する

3. テンプレートを追加する

4. ステータスを確認する

2. メールボックスを設定する

システム環境:

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux リリース 7.2.1511 (コア)

1. メール送信ツールmailxをインストールする

他のメール送信ツールがインストールされている場合は、まずそれらを閉じてください。

service sendmail stop ##sendmailを閉じる
systemctl enable sendmail.service ##起動時にメール送信を無効にする
service postfix stop ##postfixをシャットダウンします
systemctl enable postfix.service ## postfixの起動を無効にする
[root@localhost ~]# yum install mailx

2. Zabbix サーバーの外部メールボックスを設定するには、vim /etc/mail.rc ファイルを開きます。mail.rc ファイルが存在しない場合は、手動で作成し、次のコンテンツを追加します。

[root@localhost ~]# vim /etc/mail.rc 

sendcharsets=iso-8859-1,utf-8 を設定します
[email protected] を設定します
set smtp=smtp.163.com #163 メールボックスを開くには SMTP 認証が必要です set [email protected] #認証ユーザー set smtp-auth-password=xxx #認証パスワード

3. メール送信のテスト

[root@localhost ~]# echo "zabbix テストメール" | mail -s "zabbix" [email protected] 

4. メールを送信するスクリプトを書く

1) dos2unix変換ツールをインストールします(送信されたメールがxx.bin添付ファイル形式になる問題を解決するため)(ディレクトリ名は7.5.1804で変更されます)ここでのダウンロードリンクが無効な場合は、Alibabaの公式Webサイトにアクセスして対応するファイルを見つけてください。

[root@localhost ~]# rpm -ivh https://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm

https://mirrors.aliyun.com/centos/7.5.1804/os/x86_64/Packages/dos2unix-6.0.3-7.el7.x86_64.rpm を入手してください

準備中... #################################### [100%]

アップグレード/インストール中...

1:dos2unix-6.0.3-7.el7 ###################################### [100%]

次のメールが表示されましたが、テキストは表示できません

2) メール送信スクリプトの内容を変更する

なぜこのパスにこのスクリプトを作成するのでしょうか? これはzabbix_serber.confファイルで設定されています
アラートスクリプトパス=/usr/lib/zabbix/アラートスクリプト

したがって、このディレクトリにスクリプトを配置したくない場合は、サーバー構成ファイルの AlertScriptsPath の値を変更する必要があります。

[root@localhost ~]# vim /usr/lib/zabbix/alertscripts/sendmail.sh
#!/bin/bash 

#export.UTF-8 #送信した中国語の文字が文字化けする問題を解決 FILE=/tmp/mailtmp.txt 
echo "$3" >$FILE 
dos2unix -k $FILE #送信メールの内容が添付ファイルになる問題を解決しました。 

/bin/mail -s "$2" $1 < $FILE

3) 一時ファイルを作成し、認証します。ユーザーがZabbixに存在することを確認します。

[root@localhost ~]# touch /tmp/mailtmp.txt
[root@localhost ~]# chown zabbix.zabbix /tmp/mailtmp.txt

4) 上記の 3 つのパラメータは、Web ページから渡される情報を受信するために使用されます。

$1: 受信者のメールアドレス;
$2: メールのタイトル;
$3: メールの内容

5) スクリプトに権限を追加します。そうしないと、アラームが発生したときに電子メールが正常に送信されません。

[root@localhost ~]# chmod 755 /usr/lib/zabbix/alertscripts/sendmail.sh

5. 管理 - アラームメディアタイプ - メディアタイプの作成

6. 内容を入力する

sendmail.sh スクリプトに必要な 3 つのパラメータに対応する次の 3 つのパラメータを追加します: 受信者アドレス、件名、詳細内容

 {アラート.送信先}
 {アラート件名}
 {警告メッセージ}

3.0 では、これら 3 つのパラメータを追加しないとエラーが報告されます。これは、3.0 以降では、zabbix でカスタム パラメータが許可されるため、デフォルトではパラメータが渡されないためです。2.0 では、デフォルトで 3 つのパラメータが渡されるため、3.0 でこれら 3 つのパラメータを記述しないとエラーが報告されます。

7. ユーザーにアラームメディアを追加する

8. アラーム条件を設定する: 設定-アクション-アクションの作成

1) 条件と名前を設定する

2) 受信者を入力します。デフォルトの情報です。ユーザーは先ほど入力した受信者であり、MyEmailも作成されました。

障害アラーム:{TRIGGER.STATUS}:{TRIGGER.NAME}
アラームホスト:{HOST.NAME}
ホストアドレス:{HOST.IP}
アラーム時刻: {EVENT.DATE} {EVENT.TIME}
アラーム レベル:{TRIGGER.SEVERITY}
警告情報:{TRIGGER.NAME}
質問の詳細:{ITEM.NAME}:{ITEM.VALUE}
イベントコード: {EVENT.ID}

説明: デフォルトのステップは 1-1 です。つまり、1 から始まり、1 で終わります。障害が発生すると、sendEmail.sh スクリプトが実行され、管理者ユーザーと zabbix 管理者グループにアラーム メールが送信されます。障害が 1 時間続く場合は、1 回のみ送信されます。 1-0 に変更した場合、0 は無制限を意味します。無制限の送信間隔は、デフォルトの 60 秒の期間です。つまり、1 時間に 60 通のメールが送信されることになります。

3) 復旧作業

障害が解決されました:{TRIGGER.STATUS}: {TRIGGER.NAME}
ホストを復元:{HOST.NAME}
ホストアドレス:{HOST.IP}
回復時間: {EVENT.DATE} {EVENT.TIME}
回復レベル: {TRIGGER.SEVERITY}
回復情報:{TRIGGER.NAME}
質問の詳細:{ITEM.NAME}:{ITEM.VALUE}
イベントコード: {EVENT.ID}


この時点で、電子メール アラームの設定は完了です。設定したトリガーがトリガーされると、アラーム メールが自動的に送信されます。

9. メールアラートをテストする

1) トリガーをオンにする

2) Zabbixに付属のテンプレートの使用可能メモリの監視におけるトリガーの臨界値を20より大きい値に変更し、テンプレートリストに入力します。

変更後

3) 更新時間を変更して検出を高速化する

4) アラームを表示する

5) メール確認

電子メールの送信に問題がある場合は、サーバー、zabbix-server、および httpd サービスを再起動し、クライアントで zabbix-agent サービスを再起動します。

以下もご興味があるかもしれません:
  • Centos7.4 zabbix3.4.7 ソースコードのインストール方法と手順
  • Centos 7.3 に最新バージョンの Zabbix 3.4 をインストールして展開する方法 (画像とテキスト)
  • Zabbix アラーム プッシュ DingTalk の例の Python3 実装
  • Zabbixで電子メールアラートを実装する方法

<<:  MySQL InnoDB MRR 最適化ガイド

>>:  Vueはスクロールバースタイルを実装します

推薦する

CSS テキスト強調を使用してテキストを強調するための実装コード

1. はじめにこれまで、テキストの特定の部分を強調したい場合、通常は太字にしたり明るい色を使用したり...

Vue Notepadの例の詳細な説明

この記事の例では、メモ帳機能を実装するためのVueの具体的なコードを参考までに共有しています。具体的...

HTML における DOM 要素のスクロールバースクロール制御の詳細な説明

dom要素に新しい子要素を追加し、新しく追加された新しい要素がコンテナーのスコープを超えた場合は、次...

Docker Docker の保存場所を変更する コンテナイメージのサイズ制限を変更する操作

これは新しいバージョンではもう不可能なようで、推奨されません。そうでない場合は、ソフト リンクを直接...

mysql5.7.21 の異常起動を修正する方法

同僚から、停電のため MySQL インスタンスを起動できないという報告がありました。 innodb_...

Reactの仮想DOMとdiffアルゴリズムの詳細な説明

仮想DOMの役割まず、仮想 DOM の出現によってどのような問題が解決されるのかを知る必要があります...

MySQLサーバのスレッド数を表示する方法の詳細な説明

この記事では、例を使用して、MySQL サーバーのスレッド数を表示する方法について説明します。ご参考...

Vue で v-if と v-for を一緒に使用することが推奨されない理由の詳細な説明

この記事では主に、v-if と v-for を一緒に使用することが推奨されない理由を紹介します。詳細...

Dockerの核となる原則であるCgroupの詳細な説明

カーネル内の強力なツール cgroup は、NameSpace によって分離されたリソースを制限でき...

Linux ドメイン ネーム サービス DNS 設定方法

DNSとはDNS の正式名称は Domain Name System で、ドメイン名解決システムを意...

React Native が「NSArray<id<RCTBridgeModule>>型のパラメータを初期化できません」というエラーを報告する (解決方法)

最近、古い RN プロジェクトを Xcode で実行すると、次のコード エラーが報告されました。 &...

JavaScript 配列の重複排除とフラット化関数の紹介

目次1. 配列の平坦化(配列の次元削減とも呼ばれる)方法1: 削減メソッドを使用する方法2: スタッ...

WeChatアプレット+mqtt、esp8266温度と湿度の読み取り実装方法

まず、 esp8266 は mqtt を通じてメッセージを公開し、WeChat アプレットは mqt...

js オブザーバーモードの紹介と使用

目次定義2. 使用シナリオ3. 例を挙げる4. コーディング定義オブザーバー パターンは 1 対多の...

FTP環境設定ソリューション(vsftpd)の詳細な説明

1. vsftpdコンポーネントをインストールするインストールコマンド: [root@ink4t ~...