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

推薦する

ブラウザでTIF形式の画像を表示する方法

ブラウザはTIF形式の画像を表示しますコードをコピーコードは次のとおりです。 <html>...

ReactにおけるRefの相互利用の詳細な説明

目次1. まずRefとは何かを説明しましょう2. フックでのrefの使用1. HTMLDomフックで...

Mysql一時テーブルの原理と作成方法の分析

この記事は主にMysql一時テーブルの原理と作成方法を紹介します。この記事のサンプルコードは非常に詳...

MySQLでデータをエクスポートするいくつかの方法の詳細な説明

MySQL データをエクスポートする目的は、データベースのバックアップ、テーブル構造のエクスポート、...

カルーセルカルーセルケースのJS実装

この記事の例では、カルーセルカルーセルを実装するためのJSの具体的なコードを参考までに共有しています...

検証コード干渉を実装する js (動的)

この記事の例では、検証コードの動的干渉を実装するためのjsの具体的なコードを共有しています。具体的な...

CSS導入方法4つのまとめ(共有)

1. インライン参照:ラベルに直接使用されるが、メンテナンスコストが高い スタイル='フォ...

WindowsとLinux間でファイルを転送する方法

WindowsとLinux間のファイル転送(1)WinSCPを使用して、WindowsファイルをLi...

今日、私は非常に奇妙なクリックの問題に遭遇し、自分で解決しました

...こんな感じで、今日はポップアップウィンドウを作ろうと思ったのですが、バックエンド PHP によ...

Vue の計算プロパティの詳細な説明

目次補間式方法計算された要約する今日は、Vue の計算プロパティについてお話ししましょう。計算プロパ...

MySQLのよくある間違い

NULL 値によると、MySQL の NULL 値は単にデータがないことを意味します。NULL 値は...

js の通常形式の日付と時刻に 0 を自動的に追加する 2 つのソリューション

目次背景解決策1アイデア:コード:解決策2アイデア:要約する参照する背景日付と時間をフォーマットする...

Ubuntu ベースのディストリビューションに Microsoft TrueType フォントをインストールするチュートリアル

Linux 上の LibreOffice で Microsoft ドキュメントを開くと、フォントが少...

CentOS7で新しいデータディスクをマウントするための完全な手順

序文新しい VPS を購入しました。新しい VPS のデータ ディスクはデフォルトではシステムにマウ...

Dockerカスタムネットワークコンテナ相互接続

目次序文-リンクカスタムネットワーク質問する序文前回は、 -Linkパラメータを使用してコンテナ間の...