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

推薦する

Tomcat 例外の解決方法 (リクエスト ターゲットに無効な文字が見つかりました。有効な文字は RFC 7230 および RFC 3986 で定義されています)

1. シナリオ表示Tomcat ログに次の例外情報が時々報告されます。何が起こっているのでしょうか...

誰もが知っておくべきウェブサイトのユーザビリティに関する 10 のヒント

これ以上時間を無駄にせず、早速本題に入りましょう。 1. ロゴに代替テキストを追加するこれには 2 ...

mysql5.7.14 解凍版インストールと設定方法 グラフィックチュートリアル (win10)

Win10はmysql5.7の解凍版をインストールします。参考までに、具体的な内容は次のとおりです...

MySQL 8.0.22 のインストールと設定のグラフィックチュートリアル

MySQL8.0.22のインストールと設定(超詳細)参考までに、具体的な内容は次のとおりです。みなさ...

JavaScriptのURLオブジェクトとは何かについて話しましょう

目次概要ハッシュプロパティホストプロパティホスト名属性Href属性起源のプロパティユーザー名とパスワ...

CSSを使用してすべての子要素を選択する方法の詳細な説明

CSS を使用してすべての子要素を再帰的に選択するにはどうすればよいですか?以下の記事では、CSS ...

ハイパーリンクに関するいくつかの質問

<br />ポテトチップスパーティーのこのエピソードに参加して、何人かの友達に会えてとて...

Mysql接続数の設定と取得方法

接続数を取得する --- 最大接続数を取得します。SHOW VARIABLES LIKE '...

ノードイベントループとメッセージキューの分析

目次非同期とは何ですか?なぜ非同期性が必要なのでしょうか?非同期IOとは何ですか?イベントループとは...

mysqlはエクスポートされたデータのsqlファイルから指定されたテーブルのみをインポートすることを実装します

シナリオ昨日、システムは dbAll.sql.gz という名前の特定のデータベースのすべてのテーブル...

HTMLシールドの右クリックメニューと左クリック入力機能の例

右クリックメニューを無効にする <body oncontextmenu=self.event....

XHTMLコードの一般的なアプリケーション問題をまとめる

時間が経つにつれて、多くの人が XHTML の使い方を知らないことに気づきました。普通の初心者だけで...

CentOSバージョンにDockerをインストールする際のエラーの解決方法

1. バージョン情報 # cat /etc/system-release CentOS Linux ...

Vue+Openlayerはmodifyを使用して要素の完全なコードを変更します

Vue+Openlayerはmodifyを使って要素を変更します。具体的な内容は以下のとおりです。 ...

Windows に MySQL 8.0.16 をインストールする手順とエラーの解決方法

1. はじめに: mysql8以降は、これまでよく使われていたバージョンと比べてかなり変更点が大きい...