JMX 통합은 두 가지 유형의 YAML 파일( 통합 구성 옵션 및 메트릭 수집 옵션 )을 사용하여 통합 데이터를 정의하고 수집합니다. JMX 통합이 데이터를 수집하는 방법을 변경하려면 먼저 통합의 YAML 형식 구성에 로그인 자격 증명을 추가하십시오.
통합을 설치하고 수집하는 데이터를 보려면 계속 읽으십시오.
호환성 및 요구 사항
우리의 통합은 Java 8 이상과 호환됩니다. PATH
에 구성된 것과 다른 Java 버전을 사용해야 하는 경우 GitHub에서 New Relic의 구성 문서를 따르세요.
통합을 설치하기 전에 다음 요구 사항을 충족하는지 확인하십시오.
New Relic 계정. 하나가 없습니까? 무료 가입! 신용 카드가 필요하지 않습니다.
JMX가 Kubernetes 또는 Amazon ECS에서 실행되고 있지 않으면 JMX를 실행하는 호스트에 인프라 에이전트를 설치 해야 합니다. 그렇지 않으면:
이 통합은 IIOP 프로토콜을 지원하지 않습니다.
설치 및 활성화
JMX 통합을 설치하려면 환경에 대한 지침을 따르십시오.
' '
추가 참고 사항:
- 고급: 통합은 패키지 관리자 외부에 설치할 수 있도록 tarball 형식 으로도 제공됩니다.
- 인프라 에이전트는
nri-jmx
바이너리를 실행할 때 경로를PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
로 설정합니다. Java 바이너리는 해당 경로 중 하나에 있어야 합니다. nrjmx
및jmx
은 루트 사용자에 대한PATH
가 아닌PATH
시스템에 있어야 하며/root/.bashrc
에서PATH
환경 변수를 변경해도 영향을 받지 않습니다. PATH 시스템 변수를 변경하는 방법에 대해 자세히 읽어보십시오.- 호스트 내 통합은 자동으로 업데이트되지 않습니다. 최상의 결과를 얻으 려면 통합 패키지 및 인프라 에이전트 를 정기적으로 업데이트하십시오.
이 문서가 설치하는데 도움이 되셨나요?
통합 구성
통합의 YAML 형식 구성은 필수 로그인 자격 증명을 배치하고 데이터 수집 방법을 구성할 수 있는 곳입니다. 변경하는 옵션은 설정 및 기본 설정에 따라 다릅니다.
설치 방법에 따라 통합을 구성하는 몇 가지 방법이 있습니다.
- Kubernetes를 통해 활성화된 경우: Kubernetes에서 실행 중인 서비스 모니터링을 참조하십시오.
- Amazon ECS를 통해 활성화된 경우: ECS에서 실행 중인 서비스 모니터링을 참조하십시오.
- 호스트에 설치된 경우: 통합의 YAML 구성 파일
jmx-config.yml
에서 구성을 편집합니다.
통합 구성 파일
구성 파일에는 interval
, timeout
또는 inventory_source
와 같은 모든 통합에 적용할 수 있는 공통 설정이 있습니다. 이러한 공통 설정에 대한 모든 내용을 읽으려면 구성 형식 문서를 참조하십시오.
중요
레거시 구성/정의 파일을 계속 사용하는 경우 표준 구성 문서 를 참조하여 도움을 받으세요.
JMX와 관련된 특정 설정은 구성 파일의 env
섹션을 사용하여 정의됩니다. 이러한 설정은 JMX 인스턴스에 대한 연결과 기타 보안 설정 및 기능을 제어합니다. 유효한 설정 목록은 이 문서의 다음 섹션에 설명되어 있습니다.
구성 옵션은 다음과 같습니다. 예제 구성은 예제 구성 파일 을 참조하십시오.
메트릭 컬렉션 파일
메트릭 컬렉션 정의 파일은 통합에 수집할 메트릭을 알려주는 구조화된 YAML 파일입니다. 구성 예시는 메트릭 컬렉션 파일 예시 를 참조하십시오.
기본 JVM 메트릭 컬렉션 파일: /etc/newrelic-infra/integrations.d/jvm-metrics.yml
팁
조직 및 유지 관리를 쉽게 하기 위해 다른 컬렉션 파일을 작성할 수 있습니다. 예제는 구성 파일 을 참조하십시오.
Kubernetes 주석을 사용한 컬렉션 구성
Kubernetes 주석을 사용하여 컬렉션 구성을 제공할 수 있습니다. 이를 달성하려면 nri-jmx
애플리케이션에 대한 구성 파일을 생성할 Kubernetes 클러스터에 configMap
을 배포해야 합니다.
이 구성 파일에서 Kubernetes 주석을 포함하여 통합 구성에서 자리 표시자를 사용할 수 있도록 하는 컨테이너 자동 검색 에 대한 명령을 지정해야 합니다.
Tomcat 애플리케이션에서 JVM을 모니터링하는 configMap
의 예:
다음으로 주석을 사용하여 컬렉션 구성을 정의합니다. 예를 들어 다음은 주석이 있는 Tomcat 배포입니다.
apiVersion: apps/v1kind: Deploymentmetadata: name: tomcat-deployment labels: app: javaspec: replicas: 1 selector: matchLabels: app: java template: metadata: annotations: newrelic.config: >- { "collect": [ { "domain": "java.lang", "event_type": "JVMSample", "beans": [ { "query": "type=GarbageCollector,name=*", "attributes": [ "CollectionCount", "CollectionTime" ] }, { "query": "type=Memory", "attributes": [ "HeapMemoryUsage.Committed", "HeapMemoryUsage.Init", "HeapMemoryUsage.Max", "HeapMemoryUsage.Used", "NonHeapMemoryUsage.Committed", "NonHeapMemoryUsage.Init", "NonHeapMemoryUsage.Max", "NonHeapMemoryUsage.Used" ] }, { "query": "type=Threading", "attributes": [ "ThreadCount", "TotalStartedThreadCount" ] }, { "query": "type=ClassLoading", "attributes": [ "LoadedClassCount" ] }, { "query": "type=Compilation", "attributes": [ "TotalCompilationTime" ] } ] } ] } labels: app: java spec: containers: - name: tomcat image: tomcat:10.0.12 ports: - containerPort: 9999 env: - name: CATALINA_OPTS value: '-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false'
맞춤형 커넥터
JMX를 사용하면 사용자 지정 커넥터를 사용하여 애플리케이션과 통신할 수 있습니다. 사용자 지정 커넥터를 사용하려면 nrjmx 클래스 경로에 사용자 지정 커넥터를 포함해야 합니다.
기본적으로 하위 폴더 connectors
은(는) 클래스 경로에 있습니다. 이 폴더가 없으면 nrjmx가 설치된 폴더 아래에 만듭니다.
예를 들어, JBoss에 대한 지원을 추가하려면 기본(Linux) 라이브러리 경로 /usr/lib/nrjmx/
( /usr/lib/nrjmx/connectors/
) 아래에 connectors
라는 폴더를 만들고 여기에 사용자 지정 커넥터 jar( $JBOSS_HOME/bin/client/jboss-cli-client.jar
)를 복사합니다. 이제 JBoss에 대해 JMX 쿼리를 실행할 수 있습니다.
구성 예
호스트에 설치하기 위한 파일 구성 예:
호스트 내 통합 구성의 일반 구조에 대한 자세한 내용은 구성 을 참조하십시오.