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

推薦する

ウェブレスポンシブレイアウトにおけるiframe適応の方法

問題<br />レスポンシブ レイアウトでは、iframe 要素に注意する必要があります...

zk+kafka+storm クラスターの docker-compose デプロイメントの実装

クラスターの展開の概要172.22.12.20 172.22.12.21 172.22.12.22 ...

Vue は URL に基づいて非同一オリジンのファイルをどのようにダウンロードするのか

一般的に、URL に基づいてファイルをダウンロードする場合、次の 2 つの解決策があります。 1. ...

Linuxでのcrontabの使い方と注意点の詳しい説明

Crontab は定期的な実行を設定するために使用されるコマンドです。そのデーモン プロセスは cr...

CSS の子要素を親要素と高い一貫性を持たせる方法

絶対位置決め方式: (1)親要素を相対配置に設定します。親要素の高さを指定しない場合は、左の子要素の...

MySQL FAQ シリーズ: ibdata1 ファイルのサイズが突然増加しないようにする方法

0. はじめにibdata1 ファイルとは何ですか? ibdata1 は、innodb システム テ...

Nginx リバース プロキシを使用してクロスドメイン問題を解決する方法の詳細な説明

質問前回のクロスドメイン リソース共有に関する記事では、ドメイン間で Cookie を送信する場合、...

MySQL での置換例の詳細な説明

MySQL での置換例の詳細な説明replace into は insert と似ていますが、rep...

CSSポジショニングによる階層関係の問題の詳細な説明

絶対、相対、固定位置の位置決めabsolue: 絶対配置。上、下、左、右を使用して、配置先の親要素に...

MySQLでヘッダー付きのCSVファイルをエクスポートする方法

公式ドキュメント http://dev.mysql.com/doc/refman/5.7/en/se...

Linux でアップロードされたファイルのスケジュールされたバックアップと増分バックアップを実装する方法

導入Alibaba Cloud のような OSS ストレージ サービスを使用している場合は、サービス...

古典的なJavaScriptの再帰ケースの質問の詳細な分析

目次再帰とは何ですか?また、どのように機能しますか? 1. 合計(1)デジタル加算(2)配列の和2....

Vueルーティングコンポーネントでパラメータを渡す8つの方法の詳細な説明

シングルページアプリケーションを開発する場合、特定のルートを入力し、パラメータに基づいてサーバーから...

Vueは動的に生成されたコンポーネントをドラッグアンドドロップする要件を実装します

目次製品要件アイデア問題ライブラリ選択をドラッグコンポーネントを生成する方法コンポーネントを生成する...

CSS を使用して 3 列レイアウトを実装するサンプル コード。中央の列は適応型で、テキスト サイズに応じて幅が変わります。

Baiduのインタビューで遭遇する質問は、次のレイアウト効果を達成する必要がある。 中央の紫色の列...