본문으로 바로가기
본문으로 바로가기

로컬 로그 및 메트릭

이 시작 가이드는 시스템의 로컬 로그와 메트릭을 수집하여 ClickStack으로 전송하고, 이를 시각화 및 분석할 수 있도록 합니다.

이 예제는 OSX와 Linux 시스템에서만 작동합니다

이 가이드는 관리형 ClickStack 시작 가이드를 완료하고 연결 자격 증명을 기록한 것을 전제로 합니다.

사용자 정의 OpenTelemetry 구성 생성

다음 내용으로 custom-local-config.yaml 파일을 생성하세요:

receivers:
  filelog:
    include:
      - /host/var/log/**/*.log        # Linux logs from host
      - /host/var/log/syslog
      - /host/var/log/messages
      - /host/private/var/log/*.log   # macOS logs from host
    start_at: beginning
    resource:
      service.name: "system-logs"

  hostmetrics:
    collection_interval: 1s
    scrapers:
      cpu:
        metrics:
          system.cpu.time:
            enabled: true
          system.cpu.utilization:
            enabled: true
      memory:
        metrics:
          system.memory.usage:
            enabled: true
          system.memory.utilization:
            enabled: true
      filesystem:
        metrics:
          system.filesystem.usage:
            enabled: true
          system.filesystem.utilization:
            enabled: true
      paging:
        metrics:
          system.paging.usage:
            enabled: true
          system.paging.utilization:
            enabled: true
          system.paging.faults:
            enabled: true
      disk:
      load:
      network:
      processes:

service:
  pipelines:
    logs/local:
      receivers: [filelog]
      processors:
        - memory_limiter
        - batch
      exporters:
        - clickhouse
    metrics/hostmetrics:
      receivers: [hostmetrics]
      processors:
        - memory_limiter
        - batch
      exporters:
        - clickhouse

이 구성은 OSX 및 Linux 시스템의 시스템 로그와 메트릭을 수집하여 ClickStack으로 전송합니다. 이 구성은 새로운 리시버와 파이프라인을 추가하여 ClickStack 컬렉터를 확장하며, 기본 ClickStack 컬렉터에 이미 구성된 기존 clickhouse 익스포터와 프로세서(memory_limiter, batch)를 참조합니다.

수집 타임스탬프

이 구성은 수집 시 타임스탬프를 조정하여 각 이벤트에 업데이트된 시간 값을 할당합니다. 정확한 이벤트 시간을 유지하려면 로그 파일에서 OTel 프로세서 또는 연산자를 사용하여 타임스탬프를 전처리하거나 파싱하세요.

이 예제 설정에서 receiver 또는 file processor가 파일의 시작 부분부터 읽도록 구성된 경우, 기존의 모든 로그 항목에는 원래 이벤트 시간이 아닌 처리 시점의 시간으로 동일한 조정된 타임스탬프가 할당됩니다. 파일에 추가되는 새로운 이벤트는 실제 생성 시간에 근사한 타임스탬프를 받게 됩니다.

이 동작을 방지하려면 수신기 구성에서 시작 위치를 end로 설정하세요. 이렇게 하면 새 항목만 수집되며 실제 도착 시간에 가까운 타임스탬프가 기록됩니다.

OpenTelemetry(OTel) 구성 구조에 대한 자세한 내용은 공식 가이드를 참조하시기 바랍니다.

OpenTelemetry 수집기 시작하기

다음 명령어로 독립형 수집기를 실행하세요:

docker run -d \
  -p 4317:4317 -p 4318:4318 \
  --user 0:0 \
  -e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
  -e CLICKHOUSE_ENDPOINT=${CLICKHOUSE_ENDPOINT} \
  -e CLICKHOUSE_USER=${CLICKHOUSE_USER} \
  -e CLICKHOUSE_PASSWORD=${CLICKHOUSE_PASSWORD} \
  -v "$(pwd)/custom-local-config.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
  -v /var/log:/host/var/log:ro \
  -v /private/var/log:/host/private/var/log:ro \
  clickhouse/clickstack-otel-collector:latest

컬렉터는 즉시 로컬 시스템 로그 및 메트릭 수집을 시작합니다.

서비스를 선택하세요

ClickHouse Cloud 메인 랜딩 페이지에서 Managed ClickStack 서비스를 선택하세요.

서비스 선택

왼쪽 메뉴에서 ClickStack을 선택하여 ClickStack UI로 이동하십시오. 자동으로 인증됩니다.

검색 UI에 로컬 시스템 로그가 표시됩니다. 필터를 확장하여 system.log를 선택하세요:

HyperDX 로컬 로그

시스템 메트릭 탐색하기

차트를 사용하여 메트릭을 탐색할 수 있습니다.

왼쪽 메뉴에서 Chart Explorer로 이동하세요. 소스는 Metrics를 선택하고 집계 유형은 Maximum을 선택하세요.

Select a Metric 메뉴에서 system.memory.utilization (Gauge)를 선택하기 전에 memory를 입력하세요.

실행 버튼을 눌러 시간 경과에 따른 메모리 사용률을 시각화하세요.

시간에 따른 메모리 사용량

숫자는 부동 소수점 %로 반환됩니다. 더 명확하게 표시하려면 Set number format을 선택하세요.

숫자 형식

이후 메뉴에서 Output format 드롭다운에서 Percentage를 선택한 다음 Apply를 클릭하세요.

메모리 소요 시간 비율(%)