Datadog에서 Java 메트릭 얻기
누군가의 도움이 된다고 생각하고 남겨 둡니다.
하고 싶었던 일
공식 문서는 아래에 있으므로 문서를 참고해 봅니다.
JMX Checks
Java Integration 사용
Datadog는 기본적으로 Java 메트릭을 검색하지 않습니다.
그래서 명시적으로 설정을 On으로 할 필요가 있습니다.
사이드바의 Integration에서 Java를 검색하여 설정을 On으로 설정합니다.
available을 클릭하고 상세 화면에서 install integration을 클릭합니다.
jmx.yaml 추가
다음으로 datagg-agent를 install한 서버내에 들어가, Java가 움직이고 있는 서버의 정보를 datagg-agent에게 가르쳐 줄 필요가 있습니다.
datadog-agent는 디폴트로 다양한 integration의 컨피그 파일 예를 준비해 주고 있어, 이번은 그것을 복사해 그대로 사용합니다.
$ cp /etc/dd-agent/conf.d/jmx.yaml.example /etc/dd-agent/conf.d/jmx.yaml
$ vim /etc/dd-agent/conf.d/jmx.yaml
/etc/dd-agent/conf.d/jmx.yaml
init_config:
instances:
- host: localhost
port: 7199
port: 7199등 신경이 쓰이는 설정은 있습니다만, 그대로 사용합니다.
datadog-agent 다시 시작
설정 파일을 변경하면 agent를 restart하면 변경한 설정을 읽습니다.
$ sudo /etc/init.d/datadog-agent restart
하지만 값은 취할 수 없다.
dashboard를 만들 때 jmx.hogehoge가 후보로 나올 것으로 예상하지만 나오지 않습니다.
Listen하지 않는 port등을 지정하고 있었으므로 당연하다고 하면 당연합니다.
결론부터 말하면 Java 어플리케이션 기동시에 JMX의 포트를 공개해 두지 않으면 값을 취할 수 없습니다.
JMX란 무엇인가라고 하는 분은 이하를 참조해 주세요.
JMX 정보
시작 시 다음 옵션을 추가합니다.
# jmxをonにする
-Dcom.sun.management.jmxremote
# jmxの情報を取得できるportを指定します。jmx.yamlで指定したportはここでの設定したportになります
-Dcom.sun.management.jmxremote.port=7199
# 通信時にsslをonにするかどうか。今回はlocalhostでの通信なのでOffにします。
-Dcom.sun.management.jmxremote.ssl=false
# password認証をするか
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=true
추가하면
jvm이 접두사에 붙는 메트릭이 이제 Datadog 콘솔에 표시됩니다.
Reference
이 문제에 관하여(Datadog에서 Java 메트릭 얻기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shin1988/items/4b4bbc45816b590bb315텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)