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 の典型的な問題について簡単に説明します

推薦する

マークアップ言語 - タイトル

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

vue3で注意すべき2つのポイントを詳しく解説:セットアップ

目次vue2の場合vue3ではセットアップに関する注意事項セットアップライフサイクルは、before...

要素 DateTimePicker+vue ポップアップボックスに時間のみが表示される問題を解決する

3つの知識ポイント: 1. CSS子孫セレクターhttps://www.w3school.com.c...

Vue の NetEase Cloud Music Player インターフェースを模倣したシンプルな実装プロセス

仕事のプロジェクトのニーズにより、曲の再生が必要となり、さまざまな資料を参考にして、NetEase ...

HTML の値属性と名前属性の機能と使用法の紹介

1. ボタンで使用される値は、「OK」、「削除」など、ボタンに表示されるテキストを指します。 2. ...

Navicat が MySql サーバーにリモート接続できない問題の解決策

Navicat が MySql サーバーにリモート接続できない問題の解決策は、先頭に書かれています:...

IE6 の歪み問題

質問: <form...> の下の <input type="hidde...

docker-compose ネットワーク設定についての簡単な説明

ネットワーク使用チュートリアル公式サイト docker-compose.yml リファレンスドキュメ...

MySQL 条件付きクエリと使用法および優先順位の例の分析

この記事では、例を使用して、MySQL 条件クエリ and or の使用方法と優先順位を説明します。...

Linux でバックグラウンド タスクを実行するために nohup と screen を使用する例と違いの簡単な分析

SSH ターミナル (putty、xshell など) を使用して Linux サーバーに接続し、時...

Dockerがコンテナサービスを停止または削除できない問題の解決策

序文今日、開発者から、コンテナ サービスを停止、rm (docker rm -f)、または強制終了で...

JavaScript マウスイベントのケーススタディ

マウスイベントマウスが特定の操作を実行すると、イベント オブジェクトが生成され、イベントがトリガーさ...

MySQL パフォーマンス チューニングについて知っておくべき 15 個の重要な変数 (要約)

序文: MYSQL は最も人気のある WEB バックエンド データベースです。最近、NOSQL がま...

Alibaba Cloud MySQL スペースをクリーンアップする方法

今日、Alibaba Cloudからディスク警告通知を受け取りました。確認したところ、100Gのスペ...

CSS クロスフェード() を使用して半透明の背景画像効果を実現するサンプルコード

1. 要件の説明特定の要素については、背景background-imageを半透明にしたいが、テキス...