Jolokia 는 ?

  • Jolokia 는 JMX 에 대해 JSON 타입의 데이터를 받을 수 있는 HTTP Bridge 입니다.

  • 공식 홈페이지에서는 아래와 같이 설명하고 있습니다.

    > https://jolokia.org/
    Jolokia is remote JMX with JSON over HTTP.
    It is fast, simple, polyglot and has unique features. It's JMX on Capsaicin.

사용 방법 (war, Tomcat)

  • 해당 방법은 war 로 패키징된 웹어플리케이션을 tomcat 에 deploy 시키는 방법입니다.
  1. conf/tomcat-users.xml 에 아래 내용을 추가합니다. username, password 는 임의로 지정합니다.

    <role rolename="jolokia"/>
    <user username="tomcat" password="tomcat" roles="jolokia"/>
  2. tomcat 의 webapps 에 war 파일을 받습니다.

    cd webapps/
    wget http://search.maven.org/remotecontent?filepath=org/jolokia/jolokia-war/1.6.0/jolokia-war-1.6.0.war -O jolokia.war
    
    # auto deploy 가 아닌 경우 톰캣 재기동 진행
  3. Tomcat 구동 결과

사용방법 (JVM Agent, Tomcat)

  • 해당 방법은 tomcat 을 실행할 때 jvm agent 를 추가로 띄우는 방법입니다. 해당 방법은 oracle java (jvm) 만 사용 가능합니다.

  • 설치 디렉터리 : /etc/beats/vendor

  1. 아래와 같은 명령어로 설치를 진행합니다.

    cd /etc/beats/vendor
    wget http://search.maven.org/remotecontent?filepath=org/jolokia/jolokia-jvm/1.6.0/jolokia-jvm-1.6.0-agent.jar -O jolokia-jvm-1.6.0-agent.jar
  2. tomcat 의 bin/setenv.sh 등의 시작 파일에 아래 내용을 추가해줍니다. 여기서 8888 포트는 tomcat 과 겹치지 않도록 합니다.

    export JMX_OPTS=" -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname='IP입력' -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port='JMX포트입력'"
    
    # http 로 출력할 포트 입력
    export JOLIKIA_OPTS=" -javaagent:/etc/beats/vendor/jolokia-jvm-1.6.0-agent.jar=port=8888,host=0.0.0.0 "
    export JAVA_OPTS="$JAVA_OPTS $JMX_OPTS"
  3. Tomcat 구동 결과

+ Recent posts