Zabbix設定 DingTalkアラーム機能実装コード

Zabbix設定 DingTalkアラーム機能実装コード

必要

Zabbix で DingTalk アラームを設定する方法は、Prometheus で DingTalk アラームを設定する方法と似ています。ただし、DingTalk を介した Zabbix のアラートは Python スクリプトを通じて実装されます。 Prometheus は、DingTalk のバイナリ パッケージを通じて実装されます。

DingTalk の設定については、私の別のブログ投稿 (Prometheus で DingTalk アラートを構成する) を参照してください: https://knight.blog.csdn.net/article/details/105583741

ここでは、Zabbixの設定と実装を中心に説明します。

DingTalk Webhook コードの実装

vim /usr/local/zabbix/share/zabbix/alertscripts/dingding.py

#!/usr/bin/env python
#コーディング:utf-8
 
インポート要求、json、sys、os、datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=6e5bcfee12bc6fa7f3c6bd16b7d6c333d86266cecadd3fe5e77a29cedae9f9" #説明: ここで、作成したロボットのwebhookの値をuser=sys.argv[1]に変更します。
テキスト=sys.argv[3]
データ={
  "メッセージタイプ": "テキスト",
  "文章": {
    「コンテンツ」: テキスト
  },
  "で": {
    "atMobiles": [
      ユーザー
    ]、
    "isAtAll": False
  }
}
ヘッダー = {'Content-Type': 'application/json'}
x = request.post(url = webhook、data = json.dumps(データ)、headers = ヘッダー)
os.path.exists("/tmp/dingding.log") が存在する場合:
  f=open("/tmp/dingding.log","a+")
それ以外:
  f=open("/tmp/dingding.log","w+")
f.write("\n"+"--"*30)
x.json()["errcode"] == 0の場合:
  f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"送信に成功しました"+"\n"+str(text))
  f.close()
それ以外:
  f.write("\n"+str(datetime.datetime.now()) + " " + str(user) + " " + "送信に失敗しました" + "\n" + str(text))
  f.close()

実行します:

chmod +x dingding.py # 実行権限を追加 python dingding.py ab "test"

DingTalkがアラームを受信できるかどうか確認してみましょう(サーバーのパブリックIPをDingTalkのホワイトリストに追加することを忘れないでください)

Zabbixの設定は以下の通りです。

(1)アラームメディアタイプを設定します。

構成--->アラーム メディア タイプ、スクリプト パラメータは次のとおりです。

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

スクリーンショットは次のとおりです。

(2)設定アクション

設定--->アクション--->アクションの作成を選択し、WeChatアラームまたは電子メールアラームの「操作」と回復操作の内容をコピーします。

(3)最後にユーザーを設定する

設定--->ユーザー--->アラームメディアで、DingTalk を追加するだけです。 受信者は自分の電話番号を記入する必要があります。

Zabbixの設定が完了しました。警告効果図を見てみましょう

要約する

Zabbix 設定 DingTalk アラームに関するこの記事はこれで終わりです。Zabbix 設定 DingTalk アラームに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux プラットフォームでの Zabbix エージェントのインストールと設定方法
  • ZabbixはLinuxシステムサービスのプロセスを監視
  • Linux シェル環境での Zabbix API の使用
  • Linux に Zabbix モニタリングをインストールする方法
  • Linuxホストを監視するためのZabbixの設定方法
  • Zabbixリモートコマンド実行の詳細な例
  • リモートホスト上でスクリプトや命令を実行する Zabbix の詳細な説明
  • Zabbixのインストールと展開の詳細な説明
  • ZabbixはSNMPに基づいてLinuxホストを監視します

<<:  WeChatアプレットコンポーネント開発:視覚的な映画座席選択機能

>>:  DockerはRedisをインストールし、操作用のビジュアルクライアントを導入します

推薦する

Linux オペレーティング システムでよく使用される MySQL コマンドの概要

以下に、一般的な MySQL コマンドをいくつか示します。 -- データベース サービスを開始します...

dockerfile における ENTRYPOINT と CMD の組み合わせと違い

前回の記事【dockerコンテナのためのdockerfileを詳しく解説】では、dockerfile...

dl、dt、dd はいつ使用するのが適切ですか?

dl:定義一覧定義リストdt:定義タイトルタイトルを定義するdd:定義説明定義の説明dt は情報のタ...

MySQL InnoDBエンジンのインデックスとストレージ構造の詳細な説明

序文Oracle や SQL Server などのデータベースには、ストレージ エンジンが 1 つだ...

mysql-8.0.16 winx64 最新インストール チュートリアル (画像とテキスト付き)

最近、データベースについて学び始めました。最初にやったことは、データベースとは何か、データベースとデ...

Vue コンポーネントの切り替え、動的コ​​ンポーネント、コンポーネントのキャッシュについて

目次1. コンポーネント切り替え方式方法1: v-ifとv-elseを使用する方法 2: 組み込みコ...

音声キューイングシステムを実装するためのJavaScript

目次導入主な特徴エフェクト表示キーコード導入音声キューイングシステムは、銀行、レストラン、病院などの...

MySQLカスタム関数の原理と使用法の分析

この記事では、例を使用して MySQL カスタム関数の原理と使用方法を説明します。ご参考までに、詳細...

Nginx における 2 つの現在の制限方法についての簡単な説明

負荷は通常、システム設計時に予測されます。システムがパブリック ネットワークに公開されている場合、悪...

選択ドロップダウンメニューのテキストを左右にスクロールするように設定する

marquee タグを使用してフォントのスクロールを設定したいです。コードは次のように記述しましたが...

MySQL をデプロイするときに発生する「テーブル mysql.plugin が存在しません」という問題の解決方法

今日、MySQL の無料インストール版をデプロイしたところ、テーブル 'mysql.plug...

Docker+Selenium Grid に基づく技術アプリケーションをテストするためのサンプル コード

Selenium Grid の紹介Selenium Grid のいくつかの新しい機能は、今後リリース...

検索テキストボックスがフォーカスを外れたときにテキストの位置がジャンプする問題の解決方法

検索テキストボックスにテキストを設定すると、フォーカスを外すと位置がジャンプしますコードをコピーコー...

Firefox で Webdings フォントをサポートする方法

Firefox、Opera、その他のブラウザは Webdings フォントをサポートしていません。回...

node_modulesを削除して再インストールする方法

目次ステップ1: プロジェクトをインストールするディレクトリにnode_modulesをインストール...