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をインストールし、操作用のビジュアルクライアントを導入します

推薦する

MySQL 外部キー制約の例の説明

MySQL の外部キー制約は、2 つのテーブル間のリンクを確立するために使用されます。 1 つのテー...

MySQLサーバーは--read-onlyオプションで実行されているため、このステートメントを実行できません

会議中に同僚から開発ライブラリを書き込めないとの報告を受けました。エラー メッセージは次のとおりでし...

VMware での Linux CentOS6.9 インストール グラフィック チュートリアル

技術初心者として、初めて Linux システムをインストールするプロセスを記録しています。まず、Wi...

WeChat アプレットのカスタム下部ナビゲーション バー コンポーネント

この記事の例では、WeChatアプレットの下部ナビゲーションバーコンポーネントの具体的な実装コードを...

HTML 選択ボックスのプレースホルダーの作成に関する問題

テキスト入力でプレースホルダーを使用していますが、問題なく動作します。しかし、選択ボックスにはプレー...

Docker で FastDFS ファイル システムを構築する (マルチイメージ チュートリアル)

目次FastDFSについて1. 画像を検索する2. イメージをインストールする3.1. 必要なディレ...

データベースのデフォルトパスを変更した後にmysqlが起動できない問題の解決策

序文mysql がデフォルトのデータベース パスを変更したため、サービスを開始できませんでした。ログ...

Ubuntu 19.04 インストール チュートリアル (画像とテキストの手順)

1. 準備1.1 VMware 15 をダウンロードしてインストールするダウンロード リンク: h...

HTML における br と br/ の違い

スタックフローからの回答:単に<br>だけで十分です。その他の形式は、XHTML との互...

MySQL のインデックスとビューの使用方法と違いの詳細な説明

序文この記事では主に、MySQL のインデックスとビューの使用方法と違いを紹介し、参考と学習のために...

VMware 構成 VMnet8 ネットワーク方法の手順

目次1. はじめに2. 設定手順1. はじめに1. NAT モード (VMnet8) は、仮想マシン...

Vueデータプロキシの詳細な説明

目次1. これからお話しするのは、フロントエンド担当者がvue-cliで完了できるソリューション、デ...

ログインスライダー検証を実装するJavaScript

この記事では、ログインスライダー検証を実装するためのJavaScriptの具体的なコードを参考までに...

ES6 における Object.assign() の使い方の詳細な説明

目次2. 目的2.1 オブジェクトにプロパティを追加する2.3 オブジェクトの複製2.4 複数のオブ...