Zabbix で複数の JVM プロセスを監視する方法

Zabbix で複数の JVM プロセスを監視する方法

1. シナリオの説明:

私たちの環境ではマイクロサービスを使用しています。各プログラムには個別のプロセスと個別のポート番号があります。ただし、jps クエリの結果には重複した名前が含まれる場合があるため、一部のスクリプトはこのシナリオには適していません。

2. 要件:

各エージェントの JVM プロセスを監視するには、Zabbix サーバーを使用する必要があります (監視項目はテンプレートに具体的に表示されます)

3. 環境を準備する:

1.jvm.py スクリプト (オリジナルではなく、Github から直接コピーしたものです。Github アドレスはここに添付されています。対象のアドレスに直接アクセスして、関連する手順を表示できます)

2. https://github.com/qiueer/zabbix/blob/master/Tomcat/usage.txt (zabbix/Tomcat/{jvm.py|Qiueer-Template JMX Generic.xml} テンプレートとスクリプトのアドレス)

3.jdk-8u201-linux-x64.tar.gz

4.iptablesを設定または無効にする

4. 正式な設置

1. 各エージェントに JDK をインストールし、環境変数を設定します (最初に指定されたディレクトリにアップロードします)。各エージェントは次の操作を実行します。

~]# tar zxvf jdk-8u201-linux-x64.tar.gz
~]# vim /etc/profile // 次の内容を追加します #JAVA 環境変数 export JAVA_HOME=/usr/local/jdk1.8.0_201
  エクスポート JRE_HOME=${JAVA_HOME}/jre
  エクスポート CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
  エクスポート JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
  PATH=$PATH:${JAVA_PATH} をエクスポートします
~]# ソース /etc/profile
~]# ln -s /usr/local/jdk1.8.0_201/bin/java /bin/java // このリンクを作成しないと、jvm に関する情報を取得できません。

2. テスト用に指定されたディレクトリに cmdline と jvm.py をアップロードします (各エージェントでこれを行う必要があります)

zabbix_agentd.d]# パスワード
  zabbix_agentd は、以下のディレクトリにあります。
zabbix_agentd.d]# mkdir スクリプト
スクリプト]#ll
  -rw-r--r-- 1 wenkai person 20124 Sep 10 18:55 cmdline-jmxclient-0.10.3.jar // /etc/zabbix/zabbix_agentd.d/script ディレクトリにアップロード -rw-r-xr-x 1 root root 13941 Sep 10 18:57 jvm.py
script]# python jvm.py --list // JSON 形式のデータが見つかった場合、スクリプトは利用可能です script]# python jvm.py -b 'java.lang:type=Memory' -k 'HeapMemoryUsage.committed' -p 30497
1020067840

3. Web インターフェース テンプレートを設定し、Qiueer-Template JMX Generic.xml テンプレートをローカル コンピューターにダウンロードし、Zabbix にインポートして新しいテンプレートを作成します。テンプレートには、自動検出ルール、さまざまな監視項目とトリガーが備わっています。

4. 設定が完了したら、監視対象ホスト上のデータが次のように表示されるまでしばらく待ちます。

注: テンプレート内の一部の監視項目は当社のサービスには適用されないため、ここで無効にすることができます。

要約する

上記は、編集者が紹介したZabbixによる複数のJVMプロセス監視の方法です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Zabbix Agent2を使用してOracleデータベースを監視する方法
  • docker で zabbix_agent をデプロイする方法
  • Linux プラットフォームでの Zabbix エージェントのインストールと設定方法
  • Windows に Zabbix Agentd をインストールして設定する
  • Zabbixはポートステータスのバッチ監視を実装します
  • エージェントを介したzabbix監視プロセスとポートの詳細なプロセス

<<:  MySQL での大規模トランザクションによって発生する挿入の遅延ケースの分析

>>:  Angular の 12 の典型的な問題について簡単に説明します

推薦する

Docker での環境変数の使用とよくある問題の解決策

序文Docker はコンテナの環境変数を設定できます。設定方法は 2 つあります。イメージを作成する...

Linux システムでキャッシュをクリアする方法の概要

1) キャッシュメカニズムの紹介Linux システムでは、ファイルシステムのパフォーマンスを向上させ...

Vue3は独自のページングコンポーネントをカプセル化します

この記事の例では、vue3 が独自のページングコンポーネントをカプセル化する具体的なコードを参考まで...

Linux gzip コマンドのファイル圧縮実装原理とコード例

gzip は、Linux システムでファイルの圧縮と解凍によく使用されるコマンドです。このコマンドで...

8桁の割引コードをランダムに生成し、MySQLデータベースに保存します。

現在、多くの企業が割引コードを通じてプロモーションを行っています。今では、8桁の割引コードを実装して...

CSS 不透明度子要素が親要素の透明度を継承するためのソリューションの詳細な説明

プロジェクト ページの作成中に、子要素が親要素の透明度を継承するという問題に遭遇しました。多くのドキ...

BT Baota Panel php7.3 および php7.4 が ZipArchive をサポートしない問題の解決方法

Baota PanelのPHP7.3バージョンがZipArchiveをサポートしていないため、プログ...

JavaScriptは4桁のランダム検証コードの生成を実装します

この記事の例では、JavaScriptで4桁のランダムな検証コードを生成する具体的なコードを参考まで...

CSSの優先度を理解する2つの方法

方法1: 値を追加する公式の説明を見るには MDN にアクセスしてください。優先度はどのように計算さ...

ドラッグアンドドロップによる並べ替えの詳細を実現する js

目次1. はじめに2. 実装3. HTML ドラッグ アンド ドロップ API を使用しないのはなぜ...

UTF-8 ファイルの Unicode 署名 BOM (バイト オーダー マーク) の問題

最近、UTF8 エンコードの中国語 Zen Cart Web サイトをデバッグしているときに奇妙な現...

Vue3 カプセル化された虫眼鏡コンポーネントのサンプルコード

目次コンポーネントインフラストラクチャ目的: 画像拡大鏡機能を実現するvueuseをインストールする...

HTML テーブルの行間および列間の操作 (rowspan、colspan)

一般的に、<td> 要素の colspan 属性はセルの列間操作を実装するために使用され...

Linux チェックアップ、Linux の状態 (ネットワーク IO、ディスク、CPU、メモリ) を把握

目次1. コアコマンド2. 共通コマンド3. コアコマンドの詳細な説明3.1、ps補助3.2 トップ...

vue keepAlive キャッシュクリア問題事例の詳細な説明

Keepalive は Vue プロジェクトでのキャッシュによく使用され、基本的な要件を満たすのに非...