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 の解凍バージョンをインストールするための詳細なチュートリアル

推薦する

Linux で MySQL のスケジュールバックアップを実装する方法

実際のプロジェクトでは、緊急事態を防ぐためにデータベースを頻繁にバックアップする必要があります。しば...

MySQLデータベースホスト127.0.0.1とlocalhostの違い

私の友人の多くは、127.0.0.1 と localhost の違いがわからず、問題に遭遇するかもし...

Vueのプラグインの仕組みとインストールの詳細を深く理解する

序文: Vue を使用する場合、多くの場合、カスタム プラグインをいくつか使用して記述し、 Vue....

Vueでフォーム検証を実装する方法

1. インストールと使用まず、Vue プロジェクトにインストールします。 npm インストール --...

高度な CSS の 3 つの方法を使用して複数行の省略を実装するサンプル コード

序文これは古くからの要望ですが、オンラインで解決策を探している人はまだ多く、特に検索結果の上位にラン...

MySQL の時間タイプの選択

目次日時タイムスタンプ選び方ミリ秒の時間を保存する方法結論MySQL は、日付と時刻を処理するために...

Vue パッケージサイズの最適化の実装 (1.72M から 94K)

1. 背景最近、独立した開発者がUIデザインを行うのを支援するために、uideaというWebサイト...

CSS スタイル分類入門(基礎知識)

CSSスタイルの分類1. 内部スタイル ---- インラインスタイルスタイルタグの使用 <ス...

mysql 8.0.19 winx64.zip インストール チュートリアル

この記事は参考までにmysql 8.0.19 winx64.zipのインストールチュートリアルを記録...

Dockerの急速な拡張の高度な方法

1. コマンド方式作成された Swarm クラスターで nginx サービスを実行し、--repli...

Amoeba を使用して MySQL データベースの読み取り/書き込み分離を実装する方法の詳細な説明

MySQL には読み取りと書き込みを分離するアーキテクチャが多数あります。Baidu のそれらのほと...

SQLはROW_NUMBER() OVER関数を使用してシーケンス番号を生成します。

構文: ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY...

Dockerでspringcloudプロジェクトをデプロイする方法

目次Dockerイメージのダウンロードmysqlとnacosを起動する独自のJavaプロジェクトを変...

Zabbix 5.0 ディスク自動検出と読み取り/書き込み監視の問題を分析する

ディスクを自動的に検出する構成キーの値注: このキー値は Linux プラットフォームでのみサポート...