JVMを監視したいのですが、どこから始めればよいかわかりません。

ディレクトリ

1. jmxとは何ですか?

2.公式オファーは何ですか?

3.独自の標準MBeanを実装する

4.アプリケーションシナリオ

5.まとめ


開発では、多くの場合、メモリ、cpu、gc、スレッドなどの情報を含むアプリケーションの動作を監視する必要があります。これらのツールの多くはjdkによって提供されます。独自の管理を実装したい場合、どのようにこの情報を取得できますか?今日は、すべてのthis-Jmxの開始点を見てみましょう。

1. jmxとは何ですか?

JMX-Java管理拡張機能は、Java管理拡張機能として翻訳され、jvmによって提供される監視フレームワークのセットです。プログラム監視のための統一されたインターフェースを提供し、JNIを記述せずにJVMでのリソース使用状況を監視できるようにします。

2.公式オファーは何ですか?

mxbean公式は、次の2つの写真など、一般的に使用されるいくつかを提供します。基本的に、名前からわかる名前、jvmを提供できる情報を確認できます。

 

そんなに使うの?

3.独自の標準MBeanを実装する

これはどのようにして起こりましたか?ファックコードを見せて。

1. mbeanインターフェースを定義する

/**
* 香菜聊游戏
*/
public interface PlayerMgrMBean {
  public void setName(String newName);
  public String getName();
  public void helloPlayer(String worldStr);
}

2.インターフェースを実装する

/**
* 香菜聊游戏
*/
public class PlayerMgr implements PlayerMgrMBean {
  private String name ;
  @Override
  public String getName() {
      return name;
  }
  @Override
  public void setName(String newName) {
      this.name = newName;
  }
  @Override
  public void helloPlayer(String worldStr) {
      System.out.println(name + " " + worldStr);
  }
}

3. mbeanを登録する

  /**
* 香菜聊游戏
*/
  public static void main(String[] args) throws Exception {
      MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
      ObjectName name = new ObjectName( "corg.pdool.jmx:type=playerMgr" );
      mBeanServer.registerMBean(new PlayerMgr(), name);
      System.out.println("注册完毕");
      Thread.sleep(24*60*60*1000);
  }

4. MBeanを観察します。

C:\ Program Files \ Java \ jdk1.8.0_121 \ bin \ jconsole.exeを開き、実行中のアプリを選択してからダブルクリックして開き、接続してデータを読み取ります。

登録した名前に従って、登録したMBeanを開きます。たとえば、私のコードに登録した名前は「corg.pdool.jmx」です。

属性はget / setメソッドに対応し、メソッドの属性とメソッドシグネチャ情報を以下に示します。

helloPlayerは公開されたインターフェイスメソッドに対応しています。p1は、渡されるパラメーターがStringであることを示しています。これは直接変更できます。「Hello」で渡され、helloPlayerボタンをクリックすると、背景に印刷情報が出力されます。

4.アプリケーションシナリオ

テクノロジーの存在はアプリケーションシナリオである必要があります。jmxを使用する有名なアプリケーションは何ですか。たとえば、arthasというミドルウェアソフトウェアのWebLogic管理ページはJMXに基づいて開発され、JBossはJMXアーキテクチャに基づいています。

5.まとめ

Mbeanとは、アプリケーションでMBeanServerが起動されることを意味します。ユーザーは自分のニーズに応じて登録し、実行時にクライアントに接続して情報を取得します。標準のCS構造は異なるルールにすぎません。インターフェースルールに従ってください。特別なことはありません。 、JNIをカスタマイズする時間を節約できます。システムが提供するこれらの機能は、ほとんどの監視要件をすでに満たしています。カスタマイズする場合は、インターフェースルールを覚えて、コンテンツを自由に再生できるようにします。あなたはそれを学びましたか?

点字を書くのは簡単ではなく、注意を払い、3つの資質を前進させます。ご支援ありがとうございます。

1日1文

月を狙えば、迷っても星の間に落ちてしまいます。

元の記事を106件公開 381のような 訪問数510,000以上

おすすめ

転載: blog.csdn.net/perfect2011/article/details/105646663