수집기에서 호스트 수신기를 설정한 경우 OpenTelemetry를 사용하여 인프라 호스트에 대한 메트릭을 수집할 수 있습니다. 수집기는 원격 측정 데이터를 수집, 처리 및 New Relic(또는 모든 관찰 가능성 백엔드)으로 내보내는 OpenTelemetry의 구성 요소입니다.
다른 수집기 사용 사례에 대한 도움말을 찾고 있다면 newrelic-opentelemetry-examples 리포지토리를 참조하세요.
1단계: 전제 조건
계속 진행하기 전에 다음을 완료했는지 확인하세요.
- 아직 등록하지 않았다면 무료 New Relic 계정 에 등록하십시오.
- 데이터를 보고하려는 New Relic 계정의 라이선스 키 를 가져옵니다.
2단계: OpenTelemetry 수집기 설치
클라우드 또는 온프레미스의 단일 호스트에 대한 기본 설치를 수행하려면 커뮤니티의 최신 설치 단계에 대한 OpenTelemetry의 지침 을 참조하십시오. 다음에 대한 지침을 사용할 수 있습니다.
- 리눅스: 데비안 시스템
- 리눅스: 레드햇
- 윈도우
- Docker, Kubernetes 및 기타 옵션
배포 환경은 사용하는 공급업체별 배포에 따라 다를 수 있습니다. 예를 들어 패키지 관리자를 통한 설치는 Linux 호스트에서 사용할 수 있습니다.
중요
인프라 모니터링을 설정하려면 collector-contrib
릴리스에 포함된 구성요소를 설치하고 구성해야 합니다. 예를 들어 호스트 수신기는 CPU, 메모리, 디스크 및 네트워크 통계와 같은 기본 호스트 메트릭을 수집하는 데 필요하며 OpenTelemetry collector-contrib 릴리스에서만 사용할 수 있습니다.
3단계: 호스트 수신기를 사용하여 호스트 모니터링 구성
이 수집기 예제는 프로덕션에서 사용하기 전에 구성을 확장, 사용자 정의 및 검증할 수 있는 시작점 역할을 합니다.
collector-contrib
릴리스는 다양한 소스에서 스크랩한 시스템에 대한 측정항목을 생성하는 hostreceiver
를 제공합니다. hostreceiver
를 사용할 때 수집기를 에이전트로 배포합니다.
호스트 수신기를 수집기 구성의 일부로 사용할 때 New Relic은 자동으로 Host
엔티티의 일부로 호스트 측정항목을 감지하고 New Relic 인프라 에이전트와 동일한 경험을 제공하는 황금 측정항목을 합성합니다. 다음은 New Relic UI에서 Host
엔티티 환경을 활성화하기 위한 구성 요구 사항입니다.
host.id
속성이 호스트 메트릭에 있습니다.service.name
및container.id
속성은 호스트 측정항목에 없습니다.
GitHub의 OpenTelemetry 설명서에서 사용 가능한 지표 및 고급 구성에 대해 자세히 알아보세요.
다음 권장 매개변수로 config.yaml
을 조정합니다.
중요
CPU, 로드, 메모리 및 디스크 사용률 측정항목에는 otelcol-contrib 릴리스 v0.47.0
이상이 필요합니다.
구성 | 설명 |
---|---|
| 호스트 메트릭을 활성화합니다.
|
| 다음 사항에 유의하십시오.
|
| 배치 프로세서 는 범위, 메트릭 또는 로그를 수락하고 배치에 배치합니다. 일괄 처리는 데이터를 더 잘 압축하고 데이터를 전송하는 데 필요한 나가는 연결 수를 줄이는 데 도움이 됩니다. 이 프로세서는 크기 및 시간 기반 일괄 처리를 모두 지원합니다. |
| 메모리 리미터 프로세서는 수집기의 메모리 부족 상황을 방지하는 데 사용됩니다. 점검을 실시하는 것은 다음과 같은 이유로 중요합니다.
|
| 누적 델타 프로세서는 누적 합계 메트릭을 누적 델타로 변환합니다. 이를 통해 New Relic에서 시스템 메트릭 비율을 더 쉽게 쿼리할 수 있습니다. |
|
|
다음은 샘플 구성 YAML 파일입니다. 다음을 수행하십시오.
extensions:
health_check:
receivers:
hostmetrics:
collection_interval: 20s
scrapers:
cpu:
metrics:
system.cpu.utilization:
enabled: true
load:
memory:
metrics:
system.memory.utilization:
enabled: true
disk:
filesystem:
metrics:
system.filesystem.utilization:
enabled: true
network:
paging:
metrics:
system.paging.utilization:
enabled: true
processes:
process:
processors:
memory_limiter:
check_interval: 1s
limit_mib: 1000
spike_limit_mib: 200
batch:
cumulativetodelta:
metrics:
- system.network.io
- system.disk.operations
- system.network.dropped
- system.network.packets
- process.cpu.time
resource:
attributes:
- key: host.id
from_attribute: host.name
action: upsert
resourcedetection:
detectors: [env, system]
exporters:
otlp:
endpoint: OTLP_ENDPOINT_HERE
headers:
api-key: YOUR_KEY_HERE
service:
pipelines:
metrics:
receivers: [hostmetrics]
processors: [batch, resourcedetection, resource, cumulativetodelta]
exporters: [otlp]
extensions: [health_check]
4단계: 데이터 보기
New Relic UI의 다양한 위치에서 수집가 데이터를 볼 수 있습니다.
인프라 UI에서 호스트 데이터 찾아보기
호스트 수신기에 권장되는 구성을 사용하여 인프라 UI (새 호스트 UI) 환경의 표준 기능을 통해 데이터를 볼 수 있습니다.
쿼리 호스트 측정항목
메트릭이 New Relic에서 성공적으로 수집되면 데이터 탐색기 및 쿼리 빌더 에서 사용할 수 있습니다.
다음 NRQL 쿼리는 수신한 메트릭을 탐색하는 데 도움이 되는 예를 보여줍니다.
측정항목 이름으로 수집된 측정항목 업데이트 수 나열
SELECT count(*) FROM Metric WHERE metricName LIKE 'system.%' FACET metricName LIMIT max호스트가 패싯 처리한 특정 메트릭 쿼리
SELECT average(system.disk.operations) FROM Metric FACET host.name TIMESERIES특정 측정항목에 사용할 수 있는 측정기준 나열
SELECT keyset() FROM Metric WHERE metricName = 'system.disk.operations'
측정항목 데이터 유형 쿼리에 대해 자세히 알아보세요.
다음은 뭐지?
수집기를 설정한 후 모범 사례 가이드에서 OpenTelemetry 및 New Relic 사용을 개선하기 위한 팁을 확인하세요.