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

推薦する

ユニアプリプロジェクトでのウォーターフォールレイアウトの実装

GitHubアドレス、気に入ったらスターを付けてくださいプラグインのプレビューチュートリアル1. プ...

Web ページの HTML コードの説明: 順序付きリストと順序なしリスト

このセクションでは、HTML のリスト要素について学習します。リストは、Web サイトのデザインにお...

時間のかかるMySQLレコードのSQL例の詳細な説明

mysqlは時間のかかるSQLを記録しますMySQL は、最適化と分析のために、時間のかかる SQL...

JSオブジェクトの走査順序の詳細な説明

JavaScript ではオブジェクトを走査する順序は固定されていないと聞いたことがある人もいるかも...

W3C チュートリアル (8): W3C XML スキーマのアクティビティ

XML スキーマは、DTD に代わる XML ベースのものです。 XML スキーマは、DTD に代わ...

html+cssレイアウトの3つの方法(ナチュラルレイアウト/フローレイアウト/ポジショニングレイアウト)

1. 自然なレイアウト<br />レイアウトは変更せずに自動的に左揃えになります。 2....

MySQL 分離レベルの詳細な説明と例

目次MySQL の 4 つの分離レベルデータ テーブルを作成します。分離レベルの設定物事の分離レベル...

Nexus サーバーを設定するための詳細な手順

1. ネクサスサービス構築の意義イントラネットの統合プロキシとして、チームで共同開発する場合、全員が...

印刷広告を成功させるための「3I」基準

国内の多くの広告主にとって、印刷広告の制作と評価は、しばしばかなり主観的です。自分の感情や美的感覚に...

js シンプルで粗雑なパブリッシュとサブスクライブのサンプルコード

パブリッシュ/サブスクライブとは何ですか?例を挙げてみましょう。あなたは服を買うために店に行きます。...

React-Native スクリーンショットコンポーネント react-native-view-shot の紹介と使い方のまとめ

目次1. 現象2. 解決策3. 要約: 1. 現象1. 要件: 特定の表示ページをキャプチャしてアル...

Vueのカスタムイベントコンテンツ配信の詳細な説明

1. これは理解するのが少し複雑なので、原理を注意深く読んで自分で入力していただければ幸いです。 &...

mysql は sql ファイルを実行し、エラーを報告します エラー: 不明なストレージ エンジン 'InnoDB' ソリューション

問題を見つける最近、仕事で問題が発生しました。InnoDB タイプの SQL ファイルを実行すると、...

LinuxでのDockerのインストールチュートリアル

Docker パッケージは、デフォルトの CentOS-Extras リポジトリにすでに含まれていま...

Vue モバイル開発で better-scroll を使用するときにクリック イベントが失敗する問題の解決策

最近、モバイル プロジェクトの開発方法を学ぶために vue を使用し、スクロールには better-...