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

推薦する

ブラウザのCSS、JavaScript、背景画像のキャッシュをクリアする簡単な方法

実際のプロジェクト開発プロセスでは、ページがサーバーにアップロードされます。サーバーへの負荷を軽減し...

MySQL インデックスの詳細な説明

目次1. インデックスの基本1.1 はじめに1.2 インデックスの仕組み1.3 インデックスの種類1...

Node.js http モジュールの使用

目次序文ウェブHTTP サーバーファイルサーバー練習する序文Node.js 開発の目的は、JavaS...

MySQLは文字列関数のSQL文をインターセプトします

1. left(name,4)は左の4文字をインターセプトしますリスト: SELECT LEFT(2...

HTML で margin:0 auto を使用するとページ全体が中央に配置されない問題の解決方法

今日、jsp ページを書きました。<div style="margin:0 auto...

アイデアのパッケージ化とクラウドサービスへのアップロードにおけるプロジェクトプロセスの分析

1つ。まず、アイデアとしてパッケージ化する必要があります。私はSpringbootフレームワークプロ...

イベントバブリング、イベントキャプチャ、イベント委任に基づく詳細な説明

イベントバブリング、イベントキャプチャ、イベント委任JavaScript では、イベント委譲は非常に...

JavaScriptの基礎を学ぶ

目次1. JavaScriptを記述する場所2. JavaScriptでよく使われる入力文と出力文1...

CentOS 7 で grub パスワードと単一ユーザー ログインを設定するサンプル コード

Centos7 と Centos6 では、GRUB パスワードの設定手順に大きな違いがあります。これ...

Nginx 正規表現の詳細な説明

Nginx (エンジン x) は、高性能な HTTP およびリバース プロキシ サーバーであり、IM...

VMware を使用して PXE バッチ インストール サーバーをテストする詳細なプロセス

目次1. 準備1. 環境を整える2. インストール方法3. ネットワークカードの構成2. インストー...

ウェブページ作成によく使われる英語フォント

アリアルArial は、多くの Microsoft アプリケーションとともに配布されるサンセリフ T...

WeChatアプレットはキャンバスを使用して時計を描画します

この記事では、キャンバスを使用してWeChatアプレットに時計を描く具体的なコードを参考までに共有し...

Centos7 環境でバイナリ インストール パッケージから mysql5.6 をインストールする方法の詳細な説明

この記事では、centos7 環境でバイナリ インストール パッケージを使用して mysql5.6 ...

この記事では、jsのデータ型とデータ構造の世界を紹介します。

目次1. 動的型付けとは何ですか? 2. データ型2.1 プリミティブ型 (6 つのプリミティブ型、...