좋은 프로그램은 마음의 여유에서 나온다.

jmx 데이터 읽어오기 본문

프로그래밍/JAVA

jmx 데이터 읽어오기

좋은데이 2016. 5. 26. 09:11

스프링 부트에 jolokia 설정


메이븐 디펜던시 추가



   org.jolokia
   jolokia-core


node.js jolokia 클라이언트


https://github.com/jolira/jolokia-client



$ npm install jolokia-client


jvm 메모리 읽어오기


var jolokia = require('jolokia-client');
var client = new jolokia('http://localhost:8080/jolokia');

client.read('java.lang.type=Memory', function (res) {
  if (res) {
    console.log(JSON.stringify(res);
  }
});


한번에 여러개 요청하기(내부적으로 루프)


var jolokia = require('jolokia-client');
var client = new jolokia('http://localhost:8080/jolokia');

var requests = ['java.lang.type=Memory', 'java.lang.type=OperatingSystem'];
client.read(requests, function (res) {
  if (res) {
    console.log(JSON.stringify(res);
  }
});


응답

서버쪽에서 오류가 나면 res가 undefined로 들어옴


데이터

* 여러개 요청하면 아래 데이터가 배열([]) 로 들어옴

{
  "request":{
    "mbean":"java.lang:type=Memory",
    "type":"read"
    },
    "value":{
      "ObjectPendingFinalizationCount":0,
      "Verbose":false,
      "HeapMemoryUsage":{
        "init":268435456,
        "committed":810024960,
        "max":3817865216,
        "used":529912504
      },
      "NonHeapMemoryUsage":{
        "init":2555904,
        "committed":85983232,
        "max":-1,
        "used":84541544
      },
      "ObjectName":{"objectName":"java.lang:type=Memory"}
    }, 
    "timestamp":1464224576,
    "status":200
}


'프로그래밍 > JAVA' 카테고리의 다른 글

인텔리제이 lombok 사용하기  (0) 2017.05.08
인텔리제이로 스칼라 시작하기  (0) 2016.12.05
JVM 옵션  (0) 2016.08.29
실행중인 jvm 힙 메모리 보기  (0) 2016.01.04
자바 캐릭터 셋의 이해  (0) 2012.12.06
Comments