• /
  • EnglishEspañolFrançais日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

Docker OpenTelemetry 통합 설치

Linux 호스트에 OpenTelemetry Collector 직접 설치하여 도커 컨테이너를 모니터링하세요. 이 가이드는 데이터 수집을 위한 완전한 설정 지침과 뉴렐릭 NRDOT Collector (권장) 또는 OpenTelemetry Collector Contrib를 사용한 선택적 로그 수집에 대한 지침을 제공합니다.

시작하기 전에

설정을 확인하세요

통합 단계

OpenTelemetry 사용하여 도커 모니터링을 구성하려면 다음 단계를 따르세요. 아래에서 수집기 유형을 선택하세요.

NRDOT Collector설치하세요

NRDOT Collector 는 뉴렐릭에 최적화된 사전 구성 설정이 포함된 뉴렐릭의 OpenTelemetry 배포판입니다.

이미 NRDOT Collector 설치되어 있는 경우 2단계 로 건너뛰어 도커 모니터링을 설정할 수 있습니다.

DEB 설치(데비안/우분투):

bash
$
# Example version - check releases for latest: https://github.com/newrelic/nrdot-collector-releases/releases
$
export collector_version="1.10.0"
$
export collector_arch="amd64" # or arm64
$
$
curl -L "https://github.com/newrelic/nrdot-collector-releases/releases/download/${collector_version}/nrdot-collector_${collector_version}_linux_${collector_arch}.deb" -o collector.deb
$
sudo dpkg -i collector.deb
$
$
# Disable auto-start until configuration is complete
$
sudo systemctl disable nrdot-collector
$
sudo systemctl stop nrdot-collector

RPM 설치(RHEL/CentOS/Fedora):

bash
$
# Example version - check releases for latest: https://github.com/newrelic/nrdot-collector-releases/releases
$
export collector_version="1.10.0"
$
export collector_arch="x86_64" # or arm64
$
$
curl -L "https://github.com/newrelic/nrdot-collector-releases/releases/download/${collector_version}/nrdot-collector_${collector_version}_linux_${collector_arch}.rpm" -o collector.rpm
$
sudo rpm -i collector.rpm
$
$
# Disable auto-start until configuration is complete
$
sudo systemctl disable nrdot-collector
$
sudo systemctl stop nrdot-collector

기타 Linux 배포판: 아카이브 설치 또는 기타 방법은 NRDOT 설치 가이드를 참조하십시오.

설치 상태를 확인하세요:

bash
$
nrdot-collector --version

예상 출력: 버전 정보

도커 모니터링을 위한 수집기 구성

NRDOT Collector 의 경우 기본 설정을 대체하는 독립 실행형 도커 모니터링 설정 파일을 만듭니다.

중요

독립형 vs. 결합형 시뮬레이션: 이 설정은 도커 컨테이너에만 해당됩니다. 호스트 범위(CPU, 메모리, 디스크) 또는 시스템 로그도 필요한 경우 hostmetricsfilelog 수신기가 포함된 NRDOT Collector 의 기본 설정을 사용하고 docker_stats 수신기를 추가하세요.

다음 내용으로 /etc/nrdot-collector/docker-stats-config.yaml 생성하세요:

receivers:
# Docker Stats Receiver - collects container metrics
docker_stats:
endpoint: unix:///var/run/docker.sock
collection_interval: 15s
timeout: 5s
api_version: "1.25"
# Most metrics required for New Relic UI are enabled by default:
# CPU: container.cpu.usage.total, container.cpu.utilization
# Memory: container.memory.usage.total, container.memory.percent
# Network: container.network.io.usage.tx_bytes, container.network.io.usage.rx_bytes
# container.network.io.usage.tx_dropped, container.network.io.usage.rx_dropped
# Storage: container.blockio.io_service_bytes_recursive
#
# The following metrics need to be explicitly enabled:
metrics:
# Required for New Relic UI
container.pids.count:
enabled: true
# Additional network error metrics
container.network.io.usage.tx_errors:
enabled: true
container.network.io.usage.rx_errors:
enabled: true
processors:
# Batch processor optimizes data transmission
batch:
timeout: 10s
send_batch_size: 1024
# Transform processor - removes descriptions and units
transform:
metric_statements:
- context: metric
statements:
- set(description, "")
- set(unit, "")
exporters:
otlp_http:
endpoint: ${env:OTEL_EXPORTER_OTLP_ENDPOINT:-https://otlp.nr-data.net}
headers:
api-key: ${env:NEW_RELIC_LICENSE_KEY}
compression: gzip
service:
pipelines:
metrics/docker:
receivers: [docker_stats]
processors: [transform, batch]
exporters: [otlp_http]

도커 소켓 권한 구성

수집기는 컨테이너 지표를 수집하기 위해 도커 소켓에 액세스해야 합니다. 수집기 사용자에게 도커 그룹에 대한 액세스 권한을 부여합니다.

bash
$
# Add nrdot-collector user to docker group
$
sudo usermod -aG docker nrdot-collector
$
$
# Verify the user was added
$
groups nrdot-collector
$
$
# Restart Docker to apply group changes
$
sudo systemctl restart docker
$
$
# Test Docker socket access
$
sudo -u nrdot-collector docker ps

테스트 명령이 성공하고 컨테이너가 표시되면 권한이 올바르게 구성된 것입니다.

(선택 사항) - 로그 수집 구성

도커 관찰자 확장 기능이 OpenTelemetry 있는 수신기 생성기를 사용하여 도커 컨테이너에서 로그를 수집할 수도 있습니다.

중요

로그 수집을 위한 요구 사항:

  • 수집기 프로세스는 /var/lib/docker/containers/ 디렉터리에 대한 읽기 권한이 있어야 합니다. 일반적으로 이를 위해서는 수집기를 루트 권한으로 실행하거나 수집기 사용자를 docker 그룹에 추가해야 합니다.
  • 컨테이너 포트는 수신자 생성자가 컨테이너에서 로그를 검색하고 스크랩할 수 있도록 노출되어야 합니다.

기존 docker-stats-config.yaml 파일에 로그 수집 설정을 추가하세요.

extensions:
# Docker observer - discovers running containers
docker_observer:
endpoint: unix:///var/run/docker.sock
use_hostname_if_present: true
receivers:
# Your existing dockerstats receiver...
# Receiver creator - dynamically creates filelog receivers for discovered containers
receiver_creator:
watch_observers: [docker_observer]
receivers:
filelog:
rule: type == "container"
config:
include:
- /var/lib/docker/containers/`container_id`/`container_id`-json.log
poll_interval: 200ms
start_at: end
include_file_name: false
include_file_path: false
operators:
- id: container-parser
type: container
format: docker
add_metadata_from_filepath: false
processors:
# Your existing processors...
# Add entity type attribute for logs (required for New Relic entity correlation)
attributes/logs:
actions:
- key: nr.entity_type
value: CONTAINER
action: upsert
service:
extensions: [docker_observer]
pipelines:
# Your existing metrics pipeline...
logs:
receivers: [receiver_creator]
processors: [attributes/logs, batch]
exporters: [otlp_http]

인증을 구성하고 수집기를 시작하세요.

수집기 서비스에 뉴렐릭 및 OTLP 포인트 포인트를 추가하여 인증을 구성하세요.

NRDOT Collector 환경 변수:

변하기 쉬운설명기본값필수의
NEW_RELIC_LICENSE_KEY귀하의 뉴렐릭 수집 볼륨 키없음
OTEL_EXPORTER_OTLP_ENDPOINT해당 지역의 뉴렐릭 OTLP 포인트포인트https://otlp.nr-data.net (우리를)아니요

엔드포인트 설정:

  • 미국 지역: https://otlp.nr-data.net (기본값)

  • EU 지역: https://otlp.eu01.nr-data.net

    더 많은 엔드포인트 옵션을 보려면 뉴렐릭 OTLP 문서를 참조하세요.

    systemd 서비스를 구성합니다.

    이제 도커 모니터링 설정 및 인증 자격 증명을 사용하도록 NRDOT Collector 서비스를 구성합니다. 이 과정에는 사용자 지정 구성 파일과 환경 변수를 지정하기 위한 systemd 오버라이드를 생성하는 것이 포함됩니다.

  1. systemd 오버라이드 디렉터리를 생성합니다.

    bash
    $
    sudo mkdir -p /etc/systemd/system/nrdot-collector.service.d
  2. 도커 통계 설정을 사용하도록 재정의 설정을 생성합니다. YOUR_LICENSE_KEY 뉴렐릭 클러스터 키로 바꾸고, YOUR_OTLP_ENDPOINT 해당 지역에 적합한 엔드포인트로 바꿉니다.

    bash
    $
    cat <<EOF | sudo tee /etc/systemd/system/nrdot-collector.service.d/override.conf
    $
    [Service]
    $
    Environment="NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY"
    $
    Environment="OTEL_EXPORTER_OTLP_ENDPOINT=YOUR_OTLP_ENDPOINT"
    $
    ExecStart=
    $
    ExecStart=/usr/bin/nrdot-collector --config=/etc/nrdot-collector/docker-stats-config.yaml
    $
    EOF
  3. systemd 다시 로드하고, 수집기를 활성화하고 시작하세요.

    bash
    $
    sudo systemctl daemon-reload
    $
    sudo systemctl enable nrdot-collector
    $
    sudo systemctl start nrdot-collector
    $
    $
    # Verify the collector is running
    $
    sudo systemctl status nrdot-collector
    $
    $
    # Check logs for any errors
    $
    journalctl -u nrdot-collector -f

    ExecStart= 줄은 새 명령을 설정하기 전에 기본 명령을 지웁니다. 이를 통해 수집기는 기본 설정 대신 도커 통계 설정만 사용합니다.

OpenTelemetry Collector Contrib을 설치하세요

공식 설치 가이드 에 따라 OpenTelemetry Collector Contrib를 다운로드하고 설치하세요.

이미 OpenTelemetry Collector Contrib이 설치되어 있는 경우 2단계 로 건너뛰어 도커 모니터링을 위한 설정을 진행할 수 있습니다.

설치 상태를 확인하세요:

bash
$
otelcol-contrib --version

예상 출력: 버전 정보 (최소 v0.88.0 권장)

도커 모니터링을 위한 수집기 구성

OpenTelemetry Collector Contrib의 경우 수신자, 처리자, 내보내기 도구 및 서비스 파이프라인을 설정 파일(일반적으로 /etc/otelcol-contrib/config.yaml)에 병합합니다.

receivers:
# Docker Stats Receiver - collects container metrics
docker_stats:
endpoint: unix:///var/run/docker.sock
collection_interval: 15s
timeout: 5s
api_version: "1.25"
# Most metrics required for New Relic UI are enabled by default:
# CPU: container.cpu.usage.total, container.cpu.utilization
# Memory: container.memory.usage.total, container.memory.percent
# Network: container.network.io.usage.tx_bytes, container.network.io.usage.rx_bytes
# container.network.io.usage.tx_dropped, container.network.io.usage.rx_dropped
# Storage: container.blockio.io_service_bytes_recursive
#
# The following metrics need to be explicitly enabled:
metrics:
# Required for New Relic UI
container.pids.count:
enabled: true
# Additional network error metrics
container.network.io.usage.tx_errors:
enabled: true
container.network.io.usage.rx_errors:
enabled: true
processors:
# Resource detection - adds host metadata
resourcedetection:
detectors: [system, docker]
system:
resource_attributes:
host.name:
enabled: true
host.id:
enabled: true
# Batch processor - optimizes data transmission
batch:
timeout: 30s
send_batch_size: 512
# Transform processor - removes descriptions and units
transform:
metric_statements:
- context: metric
statements:
- set(description, "")
- set(unit, "")
expor
exporters:
# New Relic OTLP Exporter
otlp_http/newrelic:
endpoint: ${env:NEWRELIC_OTLP_ENDPOINT}
headers:
api-key: ${env:NEWRELIC_LICENSE_KEY}
compression: gzip
timeout: 30s
retry_on_failure:
enabled: true
initial_interval: 5s
max_interval: 30s
max_elapsed_time: 300s
service:
pipelines:
metrics:
receivers: [docker_stats]
processors: [resourcedetection, transform, batch]
exporters: [otlp_http/newrelic]

파일을 저장하고 otelcol-contrib 시스템 사용자가 해당 파일을 읽을 수 있도록 하십시오.

도커 소켓 권한 구성

수집기는 컨테이너 지표를 수집하기 위해 도커 소켓에 액세스해야 합니다. 수집기 사용자에게 도커 그룹에 대한 액세스 권한을 부여합니다.

bash
$
# Add otelcol-contrib user to docker group
$
sudo usermod -aG docker otelcol-contrib
$
$
# Verify the user was added
$
groups otelcol-contrib
$
$
# Restart Docker to apply group changes
$
sudo systemctl restart docker
$
$
# Test Docker socket access
$
sudo -u otelcol-contrib docker ps

테스트 명령이 성공하고 컨테이너가 표시되면 권한이 올바르게 구성된 것입니다.

(선택 사항) - 로그 수집 구성

도커 관찰자 확장 기능이 OpenTelemetry 있는 수신기 생성기를 사용하여 도커 컨테이너에서 로그를 수집할 수도 있습니다.

중요

로그 수집을 위한 요구 사항:

  • 수집기 프로세스는 /var/lib/docker/containers/ 디렉터리에 대한 읽기 권한이 있어야 합니다. 일반적으로 이를 위해서는 수집기를 루트 권한으로 실행하거나 수집기 사용자를 docker 그룹에 추가해야 합니다.
  • 컨테이너 포트는 수신자 생성자가 컨테이너에서 로그를 검색하고 스크랩할 수 있도록 노출되어야 합니다.

/etc/otelcol-contrib/config.yaml 에 있는 기존 설정 파일과 다음 설정을 병합하세요.

extensions:
# Docker observer - discovers running containers
docker_observer:
endpoint: unix:///var/run/docker.sock
use_hostname_if_present: true
receivers:
# Your existing dockerstats receiver...
# Receiver creator - dynamically creates filelog receivers for discovered containers
receiver_creator:
watch_observers: [docker_observer]
receivers:
filelog:
rule: type == "container"
config:
include:
- /var/lib/docker/containers/`container_id`/`container_id`-json.log
poll_interval: 200ms
start_at: end
include_file_name: false
include_file_path: false
operators:
- id: container-parser
type: container
format: docker
add_metadata_from_filepath: false
processors:
# Your existing processors...
# Add entity type attribute for logs (required for New Relic entity correlation)
attributes/logs:
actions:
- key: nr.entity_type
value: CONTAINER
action: upsert
service:
extensions: [docker_observer]
pipelines:
# Your existing metrics pipeline...
logs:
receivers: [receiver_creator]
processors: [attributes/logs]
exporters: [otlp_http/newrelic]

인증을 구성하고 수집기를 시작하세요.

수집기 서비스에 뉴렐릭 및 OTLP 포인트 포인트를 추가하여 인증을 구성하세요.

OpenTelemetry Collector Contrib 환경 변수:

변하기 쉬운설명필수의
NEWRELIC_LICENSE_KEY귀하의 뉴렐릭 수집 볼륨 키
NEWRELIC_OTLP_ENDPOINT해당 지역의 뉴렐릭 OTLP 포인트포인트

엔드포인트 설정:

  • 미국 지역: https://otlp.nr-data.net:4318

  • EU 지역: https://otlp.eu01.nr-data.net:4318

    더 많은 엔드포인트 옵션을 보려면 뉴렐릭 OTLP 문서를 참조하세요.

    systemd 서비스를 구성합니다.

    이제 인증 자격 증명을 사용하여 OpenTelemetry Collector Contrib 서비스를 구성합니다. 여기에는 뉴렐릭 클러스터 키 및 OTLP 엔드포인트에 대한 환경 변수 설정이 포함됩니다.

  1. systemd 오버라이드 디렉터리를 생성합니다.

    bash
    $
    sudo mkdir -p /etc/systemd/system/otelcol-contrib.service.d
  2. 사용자 설정으로 environment.conf 생성하세요. YOUR_LICENSE_KEY 뉴렐릭 클러스터 키로 바꾸고 YOUR_OTLP_ENDPOINT 해당 지역에 적합한 엔드포인트로 바꾸세요.

    bash
    $
    cat <<EOF | sudo tee /etc/systemd/system/otelcol-contrib.service.d/environment.conf
    $
    [Service]
    $
    Environment="NEWRELIC_LICENSE_KEY=YOUR_LICENSE_KEY"
    $
    Environment="NEWRELIC_OTLP_ENDPOINT=YOUR_OTLP_ENDPOINT"
    $
    EOF
  3. systemd 다시 로드하고 수집기를 재시작하세요.

    bash
    $
    sudo systemctl daemon-reload
    $
    sudo systemctl restart otelcol-contrib
    $
    $
    # Verify the collector is running
    $
    sudo systemctl status otelcol-contrib
    $
    $
    # Check logs for any errors
    $
    journalctl -u otelcol-contrib -f

New Relic에서 데이터 보기

통합이 완료되고 수집기가 실행되면 몇 분 안에 뉴럴릭에서 데이터를 볼 수 있을 것입니다.

  1. one.newrelic.com > All capabilities > All entities 으)로 이동합니다.
  2. 호스트명 또는 컨테이너 이름으로 도커 호스트를 검색하세요.
  3. 귀하의 도메인을 클릭하시면 도커 카테고리 및 세부정보를 보실 수 있습니다.
  4. Summary [요약] 페이지를 탐색하여 성능 지표, 리소스 사용량 및 구성 상태를 확인하세요.

도커 컨테이너 지표는 Metric 이벤트 유형 에 연결됩니다. 문제 해결, 해결 목적으로 이 데이터를 쿼리 하거나 사용자 정의 차트 및 대시보드를 생성할 수 있습니다.

문제점 해결

설정 중에 문제가 발생하는 경우 도커 모니터링 문제 해결, 해결 가이드 에서 다음을 포함한 일반적인 문제에 대한 자세한 진단 단계 및 해결 방법을 참조하세요.

  • Collector 시작 및 설정 문제
  • 누락된 데이터 또는 데이터 연결 문제
  • 권한 거부 오류
  • 성능 최적화
  • 로그 수집 문제 해결, 해결

다음 단계

이제 도커 컨테이너 전망 설정이 완료되었으므로 옵저버빌리티 그리드를 향상할 수 있습니다.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.