Zabbixで電子メールアラートを実装する方法

Zabbixで電子メールアラートを実装する方法

オンラインチュートリアルに従って実装しました。 zabbix3.4、スクリプトとsendEmailを使用します。

1. sendEmail を /usr/local/bin にダウンロードして解凍し、権限を変更します。

ダウンロードURL:

SendEmail - この無料のコマンドライン電子メールクライアントを使用して電子メールを送信します http://caspian.dotconf.net/menu/Software/SendEmail/

権限の変更:

chown zabbix:zabbix /usr/local/bin/sendEmail

2. 電子メールテストを実施します。

/usr/local/bin/sendEmail -f [email protected] (送信メール) -s smtp.163.com -u "メールタイトル" -m "メール内容" -o message-content-type=html -o message-charset=utf8 -xu [email protected] (送信メールアカウント) -xp "NetEase メール認証コード" -t "対象メール"

3. 電子メール テストに合格したら、/usr/local/zabbix/share/zabbix/alertscripts/ ディレクトリに移動し、新しい mail.sh ファイルを作成して権限を付与します。

4.mail.shの内容:

#!/bin/bash
〜$1
件名=$2
本体=$3
/usr/local/bin/sendEmail -o tls=auto -f [email protected] -t "$to" -s smtp.163.com -u "$subject" -o message-content-type=html -o message-charset=utf8 -xu [email protected] -xp "メールボックスクライアント認証コード" -m "$body"

5. テストエラー

[root@centos7 alertscripts]# ./mail.sh "ターゲットメールボックス" test_topic hello_world!
******************************************************************************
 クライアントのSSL_verify_modeのデフォルトであるSSL_VERIFY_NONEを使用する
 非推奨です。SSL_verify_mode を SSL_VERIFY_PEER に設定してください。
 検証のために SSL_ca_file|SSL_ca_path を使用することもできます。
 証明書を検証せずに、
 中間者攻撃に対して接続が開かれている場合は設定してください
 アプリケーションで SSL_verify_mode を明示的に SSL_VERIFY_NONE に設定します。
******************************************************************************
 /usr/local/bin/sendEmail の 1906 行目。
/usr/share/perl5/vendor_perl/IO/Socket/SSL.pm の 444 行目に無効な SSL_version が指定されました。

sendemailの1906行目から

if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {

変更後

if (! IO::Socket::SSL->start_SSL($SERVER)) {

再度テストし、成功しました。

[root@centos7 alertscripts]# ./mail.sh "ターゲットメールボックス" test_topic hello_world!
******************************************************************************
 クライアントのSSL_verify_modeのデフォルトであるSSL_VERIFY_NONEを使用する
 非推奨です。SSL_verify_mode を SSL_VERIFY_PEER に設定してください。
 検証のために SSL_ca_file|SSL_ca_path を使用することもできます。
 証明書を検証せずに、
 中間者攻撃に対して接続が開かれている場合は設定してください
 アプリケーションで SSL_verify_mode を明示的に SSL_VERIFY_NONE に設定します。
******************************************************************************
 /usr/local/bin/sendEmail の 1906 行目。
8月8日 15:42:42 wanbu sendEmail[25763]: メールが正常に送信されました。

6.zabbix-webの設定

zabbix3.4 では、アクション、メディア タイプ、ユーザーの 3 つの場所を設定する必要があります。アクションは判断と電子メールの送信を担当し、メディア タイプはスクリプトの選択とパラメータの受け渡しを担当し、ユーザーはアラーム情報の送信先やその他の情報を明確にする責任があります。

公式サイトの設定手順に従ってください。この部分を書くのは面倒です。注意すべき唯一の点は、メディア タイプに 3 つのパラメータ、つまり {ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESAGE} を追加する必要があることです。これらはそれぞれ、mail.sh の宛先、件名、本文に対応します。

7. 最後に、「レポート」-「アクション ログ」をクリックして、電子メールが正常に送信されたかどうか、および失敗の理由を確認します。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Linux シェル環境での Zabbix API の使用
  • Python が Zabbix API メソッドを呼び出す例
  • Centos6.5 に zabbix2.4 をインストールするチュートリアル図
  • Centos7 に Zabbix3.0 をインストールするための非常に詳細な手順
  • Python は SMS スクリプトを送信するために Zabbix を実装します
  • Pythonはzabbix APIを通じてホストを取得します
  • ZabbixAPI から情報を取得し、Python で Zabbix-API 監視を実装する方法
  • Centos7.4 zabbix3.4.7 ソースコードのインストール方法と手順
  • Docker ベースの Zabbix のインストールと展開
  • Zabbix システム ポート監視ステータス

<<:  Vueはドラッグ可能なツリー構造図を実装します

>>:  Windows Server 2016 に MySQL 5.7.19 の解凍バージョンをインストールするための詳細なチュートリアル

推薦する

mysql 変数の使用例の分析 [システム変数、ユーザー変数]

この記事では、例を使用して MySQL 変数の使用方法を説明します。ご参考までに、詳細は以下の通りで...

Maven プロジェクトのリモート デプロイメント && Tomcat を使用してデータベース接続を構成する方法

1つ。 tomcat を使用したリモート展開1.1 発生した問題:プロジェクトでは、サードパーティの...

CSSでできるならJavaScriptは使わない

序文JavaScript で記述できるアプリケーションは、最終的には JavaScript で記述さ...

React.js フレームワーク Redux 基本ケースの詳細な説明

react.js フレームワーク Redux https://github.com/reactjs/...

nginx サーバーでの 502 不正なゲートウェイ エラーの原因のトラブルシューティング

パブリックアカウントのファンデータを同期してバッチプッシュするときに、サーバーがエラー502を報告し...

Vueウォッチの監視方法の概要

目次1. Vueにおけるwatchの役割はその名の通り、監視の役割です。 2. このオブジェクトのプ...

MySql はデータを正常に挿入しますが、[Err] 1055 エラーが報告されます。解決策

1. 質問:最近、挿入操作を行っています。MySQLのバージョンは5.7です。挿入は成功しますが、エ...

lnmp を使用して MySQL データベースのルート パスワードをリセットする 2 つの方法

最初の方法: Junge のワンクリック スクリプトを使用して、LNMP 環境で MYSQL データ...

UbuntuからMySQLを削除して再インストールする方法

まずmysqlを削除します: sudo apt-get remove mysql-*残ったデータをク...

Tomcat イメージをインストールして Docker に Web プロジェクトをデプロイする方法を簡単に説明します。

1. Tomcatをインストールする1. Docker HubでTomcatイメージを見つける d...

MySQLでビューを作成する方法

基本的な構文CREATE VIEW ステートメントを使用してビューを作成できます。構文の形式は次のと...

HTMLページ埋め込み動画とJSコントロール切り替え動画例の詳しい説明

まず、ページにビデオを埋め込むための HTML コードは次のとおりです。コードをコピーコードは次のと...

Mysql と Oracle でよく使用される複数テーブルの変更ステートメントの概要

今日、SQLトレーニングの質問バンクでこの質問を見ました。これは、非常に代表的なマルチテーブル変更の...

Reactでコンポーネントがどのように通信するかの詳細な説明

1. 何ですかコンポーネント間の通信は、次の 2 つの単語に分けることができます。コンポーネントコ...

MySQL リンクを表示し、異常なリンクを削除する方法

序文:データベースの運用や保守の際には、リンクの総数がいくつあるか、アクティブなリンクがいくつあるか...