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はスクロールバースタイルを実装します

推薦する

MySQL 5.7.17 無料インストールバージョンの設定方法グラフィックチュートリアル (Windows10)

1. 概要ネットでいろいろ検索してみたところ、Linux システム向けではなく、現在の新しいバージ...

CSS を使用してテクスチャ付きグラデーション背景画像を記述するためのサンプル コード

プロジェクト内のページの長さはおよそ2000px以上あり、背景画像にはテクスチャやグラデーションがあ...

Linux に mysql をインストールするときに /etc に my.cnf ファイルがない問題を解決する

今日、mysql ポートを変更したいと思ったのですが、/etc/ ディレクトリに my.cnf ファ...

LeetCode の SQL 実装 (182. 重複するメールボックス)

[LeetCode] 182.重複メールPerson という名前のテーブル内のすべての重複メールを...

node.jsのコアモジュールとは

目次グローバルオブジェクトグローバルオブジェクトとグローバル変数プロセスコンソール一般的なツールユー...

HTML 要素に注釈を付けるときにクラスと ID のどちらが優れているかを分析する

Web ページには、非常に複雑な HTML 構造があります。CSS を使用して関連するスタイルを定義...

MySQLクエリのパフォーマンスを分析する方法

目次スロークエリの基礎: データ取得の最適化データベースから不要なデータが要求されていないか確認する...

Alibaba Cloud で MySQL リモート接続を構成するための詳細な手順

序文ご存知のとおり、デフォルトでは、Alibaba Cloud にインストールされている MySQL...

Vue フロントエンドで PDF を生成してダウンロードする方法

目次1. インストールと導入2. PDFファイルをパッケージ化してエクスポートする方法構成の詳細PD...

CSS3はブラウザのスクロールバーのスタイルを変更します

注意: この方法は、Webkit ベースのブラウザにのみ適用されます。ブラウザのスクロールバーが広す...

Zabbix は MySQL インスタンス メソッドを監視します

1. 監視計画監視項目を作成する前に、何を監視するのか、どのように監視するのか、監視データをどのよう...

MySQL無料インストール版を解凍した後にパスワードが見つからない問題を解決する方法

1. mysql-8.0.21-winx64を解凍する2. 環境変数を設定し、アドレスをbinフォル...

純粋なJSを使用してセカンダリメニュー効果を実現します

この記事の例では、セカンダリメニュー効果を実現するためのJSの具体的なコードを参考までに共有していま...

WeChatアプレットでラッキーホイールゲームを実装する方法

ここでは主に、WeChat アプレットでラッキーホイール ゲームを開発する方法を紹介します。主に J...

hr 水平線スタイルの例コード

コードをコピーコードは次のとおりです。 <hr style="width:490px...