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

推薦する

Win10 での MySQL 8.0.15 のインストールと設定のチュートリアル

最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...

W3C チュートリアル (6): W3C CSS アクティビティ

スタイル シートは、ドキュメントの表示方法、発音方法、または入力方法を記述します。スタイル シートは...

Web プロジェクト開発における 2 つのトークン理由とサンプル コードの分析

目次質問:プロジェクトには 2 つのトークンがあり、1 つは有効期間が 2 時間 (ショート トーク...

Dockerはelasticsearchイメージを起動し、ディレクトリをマウントした後にエラーを解決します

docker hub から es イメージ (バージョン 6.4.2) をダウンロードしました。詳細...

Windows サーバー管理におけるセキュリティの考慮事項

ウェブサーバー1. Webサーバーは、wev、cgi、asp機能を無効にするなど、不要なIISコンポ...

サブメニューをクリックする効果を実現するJavaScript

この記事では、クリック時にサブメニューを表示するためのJavaScriptの具体的なコードを参考まで...

MySQLスローログに関する知識のまとめ

目次1. スローログの紹介2. スローログの練習1. スローログの紹介スロー ログの正式名称はスロー...

Linux で大きなファイルの内容を消去または削除する 5 つの方法

Linux ターミナルでファイルを操作しているときに、Linux コマンドライン エディターでファイ...

flexとは何か、flexレイアウト構文の詳細なチュートリアル

フレックスレイアウトFlex は Flexible Box の略で、「柔軟なレイアウト」を意味します...

MySQL における冗長インデックスと重複インデックスの違い

MySQL では、1 つの列に複数のインデックスを作成できます。意図的であるかどうかにかかわらず、M...

mysql5.7.21 の異常起動を修正する方法

同僚から、停電のため MySQL インスタンスを起動できないという報告がありました。 innodb_...

Centos6.5 の rpm パッケージから mysql5.7 をインストールするときに発生する初期化エラーの解決策

1. rzをサーバーにアップロードして解凍する rz [root@mini2 アップロード]# ta...

goaccess を使用して nginx ログを分析する詳細な方法

最近、goaccess を使って nginx ログを分析したいのですが、nginx ログの設定形式が...

CentOS で新しいユーザーを作成し、キーログインを有効にする方法

目次新しいユーザーを作成する新規ユーザーを承認する新規ユーザーのSSHキーログインを有効にする他のS...

vue3.0+echarts は 3 次元の縦棒グラフを実現します

序文: Vue3.0はechartsの3次元縦棒グラフを実装します結果: 実装手順: 1. echa...