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 開発者ツール メニューの説明

推薦する

HTML ウェブページの段落レイアウトと改行

Web ページの外観はレイアウトに大きく左右されます。ページ内に長い段落のテキストがある場合、通常は...

Linux で最も頻繁に使用されるターミナル コマンドのトップ 10 のリストを取得します。

私が最も頻繁に使用するコマンドは次の通りです:選択肢CDギットls ssh須藤数週間前、私はこの R...

MySQLはOracleシーケンスに似たソリューションを実装しています

MySQLはOracleのようなシーケンスを実装しているOracle は通常、主キー フィールドを処...

MySQL/MariaDB で完全な Unicode をサポートする方法

目次utf8mb4 の紹介UTF8 バイト数超過エラーutf8mb4 サポートデフォルトの文字エンコ...

GNU Parallelの具体的な使用法

それは何ですか? GNU Parallel は、1 台以上のコンピュータでコンピューティング タスク...

CSS3 はドラッグ可能なルービックキューブの 3D 効果を実現します

主に使用される知識ポイント: •css3 3D変換 •ネイティブjsマウスドラッグイベント•表示:グ...

LinuxにMySQLをインストールするための詳細なチュートリアル

すべてのプラットフォーム用の MySQL ダウンロードは、MySQL ダウンロードから入手できます。...

FastApi+Vue+LayUIを使用してフロントエンドとバックエンドを分離するサンプルコード

目次序文プロジェクト設計後部フロントエンドプロジェクトを実行する質疑応答序文これまでの API 開発...

よく使用される入力テキストボックスの内容は自動的に垂直方向に中央揃えされ、クリックするとデフォルトのプロンプトテキストは空になります。

3つの機能: 1. コンテンツの垂直方向の自動中央揃え2. デフォルトのプロンプトテキストは灰色で表...

meta name="" content="の機能の詳細な説明

1. 文法: <meta name="名前" content="...

Reactでパスワード強度検出器を実装する方法

目次序文使用コンポーネントの記述データ構造分析プロセス分析基礎コードの分析他の要約する序文パスワード...

Vue プロジェクトで addRoutes を使用する際の問題の解決策

目次序文1. 404 ページ1. 原因2. 解決策2.白い画面を更新する1. 原因2. 解決策3. ...

ウェブページ印刷細線表+ページ印刷究極の戦略

最近、クライアントのために印刷していたとき、ページのヘッダーを印刷するのではなく、表の内容だけを印刷...

Docker ポート マッピングと外部アクセス不可の問題

Docker コンテナはサービスを提供し、ポート 8888 をリッスンします。外部からアクセスできる...