Zabbix と bat スクリプトを組み合わせて複数のアプリケーションの状態を監視する方法

Zabbix と bat スクリプトを組み合わせて複数のアプリケーションの状態を監視する方法

シナリオシミュレーション:

国内企業の中には、重要な業務をサポートするために特定のウィンドウ プログラム (.exe など) を実行する必要があるところもあります。これらの重要なウィンドウ プログラムが中断されると、莫大な経済的損失が発生したり、作業効率に影響したりして、結果は非常に深刻です。そこで、Zabbix を通じて複数のプログラムの状態を監視したいと考えました。これらの重要なウィンドウ プログラムが中断されると、アラームが生成され、運用および保守担当者に修復するように通知されます。

事前に 2 つの bat スクリプトを用意します。finde.bat (監視対象の exe プログラムを自動的に検出する)、check_exe_status.bat (監視対象の exe プログラムのステータスを取得する)
ステップ 1 – bat スクリプトを準備します。

findexe.batスクリプトの内容は次のとおりです。

@エコーオフ

setlocal 有効遅延拡張

/an=0 を設定する

/a n1=0 を設定する

%%i in (%*) の場合、(set /a n+=1) を実行します。

@echo {"データ":[

%%a の (%*) に対して (

/a n1+=1 を設定する

@echo {"{#サーバー名}":"%%a"

!n1! または !n! の場合 (

@エコー },

) それ以外 (

@エコー }

)

)

エコー]}

check_exe_status.batスクリプトの内容は次のとおりです@echo off

タスクリスト|検索文字列 ^%1 >/NUL 2>&1

%errorlevel% == 0 の場合 (

「実行中」をエコーする

) それ以外 (

「実行なし」をエコーし​​ます

)

tasklist|findstr ^%1 >/NUL 2>&1 は、監視プログラム exe が実行されているかどうかを確認するために使用されることに注意してください。

ステップ2 – 監視テンプレートを作成する

ここに画像の説明を挿入

テンプレートを作成するには「追加」をクリックします

次に、先ほどのcheck_exe_statusテンプレートで自動検出ルールを作成します。

ここに画像の説明を挿入

図のキー値は findexe です。キー値のパラメータは、顧客が監視する複数のプロセスであり、二重引用符で囲まれ、スペースで区切られています。

findexe[“firefox.exe chrome.exe xxxlll.exe”]

監視する他の exe プログラムがある場合は、スペースで区切って空白を埋めてください。

次に、この自動検出ルールの下で、新しい監視項目のプロトタイプを作成します。

ここに画像の説明を挿入

プロトタイプの {#SERVERNAME} の値は固定されており、findexe.bat の最初のステップで定義されます。

ステップ3 – zabbix_agent.confでカスタムキーを設定する

ここに画像の説明を挿入

スクリプトパスをカスタマイズし、カスタムキーの値はテンプレート名と一致している必要があります。

zabbix_agentを再起動する

ステップ4 – 複数のexeプログラムの状態を確認する

ここに画像の説明を挿入

3 つの exe プログラム名が自動的に検出されます。そのうち、xxxll.exe は存在しない exe です。効果を確認するには、firefox.exe プログラムを閉じて、最新のデータが norunning として表示されるかどうかを確認します。

ここに画像の説明を挿入

検証に成功しました。

Zabbix と bat スクリプトを組み合わせて複数のアプリケーションの状態を監視する方法についての記事はこれで終わりです。Zabbix と bat スクリプトの組み合わせの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Python スクリプトは、Zabbix の複数行ログ監視プロセス分析を実装します。
  • Python スクリプト Zabbix カスタム キーを使用して Oracle 接続ステータスを監視する
  • ZABBIX3.2 で監視レポートを実装するための Python スクリプトの使用方法
  • Zabbix動的実行監視収集スクリプトの実装原理

<<:  JavaScript で支払いの 10 秒カウントダウンを実現

>>:  IE8 開発者ツール メニューの説明

推薦する

JS 手ぶれ補正機能の実装と使用シナリオ

目次1. 手ぶれ補正機能とは何ですか? 1. なぜ手ぶれ補正機能が必要なのでしょうか? 2. 手ぶれ...

HTMLフォームアプリケーションにはチェックボックスとラジオボタンの使用が含まれます

チェックボックスやラジオボタンの使用を含むコードをコピーコードは次のとおりです。 <!DOCT...

CSS で QR コードスキャンボックスを実装するためのサンプルコード

カメラを開くと通常はスキャンボックスが表示されますが、静的なQRコードではフォーカスを合わせたりスキ...

CSSでプロセスナビゲーション効果を実現する(3つの方法)

CSS によりプロセスナビゲーション効果を実現します。具体的な内容は以下のとおりです。 ::tip...

Vue axios インターセプターは、繰り返しリクエストのキャンセルによく使用されます。

導入前回の記事では、axios のシンプルなカプセル化と、axios インターセプターの適用シナリオ...

キーフリーログインプロセスを実現するためのLinux構成の分析

1.sshコマンドLinux では、ssh コマンドを使用して別のサーバーにログインできます。 2 ...

JavaScript の isPrototypeOf 関数

目次1. isPrototypeOf()例 1、オブジェクト クラス インスタンス:例 2: Hum...

Vue要素と多言語切り替えの詳細な説明

目次序文複数の言語を切り替えるにはどうすればいいですか? 1. vue-i18nパッケージをインスト...

Node.js パッケージ マネージャー npm の具体的な使用方法

目次目的npm init および package.json ファイルモジュールのインストールと管理モ...

画像をMySQLデータベースに保存し、フロントエンドページに表示するための実装コード

目次1. まず、pycharmを使用してDjangoプロジェクトを作成し、関連する環境を設定します。...

CentOS 7 で NFS ファイル共有ストレージ サービスを構築するための完全な手順

序文NFS (Network File System) は、ネットワーク ファイル システムを意味し...

DockerにELKをインストールしてJSON形式のログ分析を実装する方法

ELKとは何ですか? ELK は、Elastic が提供するログ収集およびフロントエンド表示ソリュー...

Linux サーバーと Windows システム間でファイルをアップロードおよびダウンロードする方法

背景: Linux サーバーのファイルのアップロードとダウンロード。 XShell+Xftp インス...

4つのReactコンポーネントにおけるDOMスタイル設定の詳細な説明

1. インラインスタイル仮想DOMにインラインスタイルを追加するには、式を使用してスタイルオブジェク...

広告を閉じる効果を実現するJavascript

参考までに、Javascript を使用して広告を閉じる方法に関するケース スタディを示します。詳細...