New Relic Infrastructure 온-호스트 통합 은 두 가지 유형의 구성 형식 중 하나를 사용할 수 있습니다. 이 문서에서는 이전의 레거시 구성 형식에 대해 설명합니다.
중요
New Relic은 개선된 새로운 표준 구성 형식 을 사용할 것을 권장합니다. 구성 파일을 이 새로운 형식으로 업데이트하려면 업데이트 섹션 을 확인하십시오.
구성에 대한 소개는 구성 개요 를 참조하십시오.
구성 파일 구조
표준 구성 형식을 사용하는 호스트 내 통합에는 두 개의 구성 파일이 필요합니다.
정의 파일
정의 파일은 INTEGRATION_NAME-definition.yml
과 같은 명명 형식을 갖습니다. 이 파일은 지원하는 JSON 프로토콜의 버전, 실행할 수 있는 명령 목록 및 수락하는 인수와 같은 통합에 대한 설명 정보를 제공합니다. 다음 디렉토리에 있습니다.
리눅스:
/var/db/newrelic-infra/newrelic-integrationsWindows:
C:\Program Files\New Relic\newrelic-infra\newrelic-integrations
다음은 Linux 시스템에서 두 개의 명령 섹션이 있는 NGINX 통합 정의 파일의 예입니다.
name: com.myorg.nginxprotocol_version: 2description: Collect metric and configuration data from NGINXos: linuxcommands: metrics: command: - myorg-nginx - --metrics interval: 15 inventory: command: - myorg-nginx - --inventory interval: 120 prefix: integration/myorg-nginx
정의 파일은 두 부분으로 나눌 수 있습니다.
정의 파일 헤더
다음은 정의 파일의 헤더 요소에 대한 설명입니다.
정의 헤더 필드 | 설명 |
---|---|
| 필수의. 로깅, 내부 측정항목 등을 위한 통합을 식별하기 위한 고유한 이름 |
| 필수의. 프로토콜의 버전 번호입니다. New Relic은 이를 사용하여 통합과 에이전트 간의 호환성을 보장합니다. 에이전트가 통합 버전을 인식하지 못하는 경우 해당 통합을 필터링하고 로그 메시지를 생성합니다. JSON 프로토콜의 현재 버전은 |
| 선택 과목. 통합이 하는 일에 대한 인간 친화적인 설명. |
| 선택 과목. 통합이 실행되는 운영 체제입니다. New Relic은 이것을 사용하여 특정 운영 체제에서만 실행하려는 통합을 필터링합니다. 기본값: 특정 운영 체제로 통합을 제한하려면 다음 옵션 중 하나를 사용하십시오.
|
정의 파일 명령
헤더 뒤에는 명령 목록이 있습니다. 명령 섹션은 다음을 정의합니다.
- 실행 파일에 대한 하나 이상의 독립 작동 모드
- 실행에 필요한 런타임 데이터
명령 섹션은 명령 정의의 YAML 맵입니다. 여기서 각 키는 실행할 실행 파일을 지정하는 통합 구성 파일에 있는 명령의 고유한 별칭 이름입니다.
정의 명령 | 설명 |
---|---|
| 필수의. 명령 부분의 YAML 배열로 실행할 실제 명령줄입니다. 이들은 실제 명령을 실행하기 위해 어셈블됩니다. 간단한 명령의 경우 배열은 단일 요소일 수 있습니다. 추가 명령 규칙은 다음과 같습니다.
|
| 선택 과목. 명령의 두 연속 실행 사이, 특히 이전 실행 종료와 다음 실행 시작 사이의 시간(초)입니다.
|
| 선택 과목. 접두사는 플랫폼별 경로가 아닙니다. 슬래시는 카테고리와 접두사는 최대 2개의 수준을 가질 수 있습니다. 그렇지 않으면 인벤토리가 보고되지 않습니다. 설정되지 않은 경우 기본값: |
구성 파일
구성 파일 은 INTEGRATION_NAME-config.yml
과 같은 명명 형식을 갖습니다. 이 파일은 실행할 실행 파일과 실행에 필요한 매개변수를 지정합니다. 다음 디렉토리에 있습니다.
리눅스:
/etc/newrelic-infra/integrations.d/Windows:
C:\Program Files\New Relic\newrelic-infra\integrations.d
팁
형식 문제를 피하기 위해 YAML 구성 파일을 사용하기 전에 린트 하는 것이 좋습니다.
다음은 하나의 인스턴스가 정의된 구성 파일의 예입니다. 이 필드에 대한 설명은 예제 아래에 설명되어 있습니다.
integration_name: com.myorg.nginxinstances: - name: nginx1.myorg.com-metrics command: metrics arguments: status_url: http://127.0.0.1/status labels: environment: production role: load_balancer
두 개의 인스턴스가 정의된 구성 파일의 또 다른 예입니다.
integration_name: com.myorg.nginxinstances: - name: nginx1.myorg.com-metrics command: metrics arguments: status_url: http://one.url/status labels: environment: production role: load_balancer - name: nginx2.myorg.com-metrics command: metrics arguments: status_url: http://another.url/status labels: environment: production role: load_balancer
구성 파일 필드 정의
구성 파일 필드 | 설명 |
---|---|
| 필수의. 이것은 헤더이며 실행할 실행 파일을 식별하는 데 사용됩니다. 이 이름은 통합의 정의 파일 에 지정된 이름과 정확히 일치해야 합니다. 권장사항: 고유한 이름을 보장하려면 역방향 도메인 이름 표기법을 사용하세요. |
| 필수의. 통합의 특정 호출(인스턴스)에 대한 이름입니다. 이것은 이 통합으로 생성된 모든 로그 메시지를 식별하는 데 사용되며 문제 해결 에도 유용합니다. |
| 필수의. 실행할 명령입니다. 이것은 통합의 정의 파일 에 지정된 고유한 별칭 이름 중 하나와 정확히 일치해야 합니다. |
| 선택 과목. 다음과 같은 YAML 객체:
|
| 선택 과목. 다음과 같은 YAML 객체:
|
| 선택 과목. 에이전트가 통합 바이너리를 실행하는 데 사용할 이름이 있는 문자열입니다. 기본값: 있는 경우 인프라 에이전트는 통합 바이너리를 지정된 사용자로 실행합니다. 예를 들어 |