콘텐츠로 이동

데이터 수집 가용성 검사

·


이 수집기는 데이터 수집의 가용성과 지연을 검사하는 데 사용됩니다. 메트릭, 로그, 트레이싱의 탐지 데이터를 자동으로 생성한 뒤 DQL 조회로 데이터가 정상적으로 수집되었는지 확인하고, 데이터 전송부터 조회 가능해질 때까지의 지연 시간을 측정합니다.

사전 조건

  • DataWay 구성이 필요하며, 데이터 전송과 DQL 조회에 사용됩니다
  • result_workspace를 설정한 경우, 해당 워크스페이스 URL에 접근 가능해야 합니다

설정

DataKit 설치 디렉터리의 conf.d/samples 디렉터리로 이동한 뒤, ingestion_canary.conf.sample을 복사하여 ingestion_canary.conf로 이름을 바꿉니다. 예시는 다음과 같습니다:

[[inputs.ingestion_canary]]
  ## 수집 주기, 기본값 10m
  interval = "10m"

  ## 쿼리 타임아웃, 주기보다 짧아야 함, 기본값 5m
  query_timeout = "5m"

  ## DQL 쿼리 폴링 간격, 기본값 500ms
  poll_interval = "500ms"

  ## 쿼리 오류에 대한 최대 재시도 횟수, 기본값 10
  error_retries = 10

  ## 메트릭 보고용 결과 워크스페이스 URL
  # result_workspace = "https://openway.guance.com?token=xxx"

  ## 수집할 데이터 범주 (metric, logging, tracing)
  ## 지정하지 않으면 모든 범주를 수집합니다
  categories = ["metric", "logging", "tracing"]

  ## 로깅 설정
  [inputs.ingestion_canary.logging]
    storage_index = "default"

  ## 선출 모드 활성화
  election = true

  ## 추가 태그
  [inputs.ingestion_canary.tags]
  # some_tag = "some_value"
  # more_tag = "some_other_value"

설정한 뒤에는 DataKit을 재시작하면 됩니다.

ConfigMap 방식으로 수집기 구성을 주입하거나 ENV_DATAKIT_INPUTS를 설정하여 수집기를 활성화할 수 있습니다.

지표 설명

이 수집기는 두 종류의 데이터를 생성합니다:

  1. 테스트 데이터: 데이터 수집 가용성을 테스트하기 위한 탐지 데이터 포인트(메트릭, 로그, 트레이싱)
  2. 결과 지표: 지연 시간과 테스트 상태를 포함한 테스트 결과의 메트릭 데이터

탐지 데이터 포인트에는 전역 태그가 포함되지 않으며, 데이터 포인트 자체의 필드와 태그, 그리고 설정에서 지정한 tags만 포함됩니다.

테스트 데이터

ingestion_canary (메트릭)

각 탐지 라운드마다 수집기가 내보내는 합성 메트릭 포인트로, 메트릭 수집 경로를 검증합니다.

Tags & Fields Description
test_type
(tag)
테스트 유형: collect(수집기) 또는 cmd(CLI 도구)
round ingestion canary 탐지의 라운드 번호입니다.
형식: int | (gauge)
단위: count
태그 기준: test_type

ingestion_canary (로그)

로그 수집 경로를 검증하기 위해 canary가 내보내는 합성 로깅 페이로드입니다.

Tags & Fields Description
test_type
(tag)
테스트 유형: collect(수집기) 또는 cmd(CLI 도구)
message ingestion canary 탐지에서 내보내는 합성 로그 메시지입니다.
형식: string
단위: N/A
태그 기준: test_type
round ingestion canary 탐지의 라운드 번호입니다.
형식: int
단위: count
태그 기준: test_type

ingestion_canary (트레이싱)

트레이스 수집과 전달을 검증하기 위해 canary가 내보내는 합성 트레이싱 페이로드입니다.

Tags & Fields Description
service
(tag)
서비스 이름
source
(tag)
소스 이름
span_type
(tag)
스팬 유형
test_type
(tag)
테스트 유형: collect(수집기) 또는 cmd(CLI 도구)
duration 트레이스 스팬의 지속 시간(마이크로초)입니다.
형식: int
단위: time,μs
태그 기준: service, source, span_type, test_type
parent_id ingestion canary 탐지에서 내보내는 부모 스팬 식별자입니다.
형식: string
단위: N/A
태그 기준: service, source, span_type, test_type
resource ingestion canary 탐지에서 내보내는 합성 리소스 이름입니다.
형식: string
단위: N/A
태그 기준: service, source, span_type, test_type
round ingestion canary 탐지의 라운드 번호입니다.
형식: int
단위: count
태그 기준: service, source, span_type, test_type
span_id ingestion canary 탐지에서 내보내는 스팬 식별자입니다.
형식: string
단위: N/A
태그 기준: service, source, span_type, test_type
start 트레이스 스팬의 시작 시간을 Unix 타임스탬프 마이크로초로 나타낸 값입니다.
형식: int
단위: timeStamp,usec
태그 기준: service, source, span_type, test_type
status ingestion canary 탐지에서 내보내는 합성 스팬 상태입니다.
형식: string
단위: N/A
태그 기준: service, source, span_type, test_type
trace_id ingestion canary 탐지에서 내보내는 트레이스 식별자입니다.
형식: string
단위: N/A
태그 기준: service, source, span_type, test_type

결과 지표

ingestion_canary_result

각 ingestion canary 탐지 라운드의 결과 지표로, 범주, 상태, 저장 대상, 지연 시간을 포함합니다.

Tags & Fields Description
category
(tag)
데이터 범주: M (metric), L (logging), T (tracing)
status
(tag)
테스트 상태: ok, timeout, error
storage_index
(tag)
로그 데이터의 저장 인덱스(선택 사항)
latency_ms canary 포인트를 입력한 뒤 조회 가능해질 때까지의 지연 시간(밀리초)입니다.
형식: int | (gauge)
단위: time,ms
태그 기준: category, status, storage_index, test_type

명령행 도구

수집기 모드 외에도, 일회성 테스트를 위한 명령행 도구를 제공합니다:

# 기본 설정 사용
datakit tool --ingestion-canary

# 로그 데이터의 storage index 지정
datakit tool --ingestion-canary --ingestion-canary-index my_index

매개변수 설명:

  • --ingestion-canary: ingestion canary 테스트 도구 활성화
  • --ingestion-canary-index: 로그 데이터의 storage index를 지정하며, 기본값은 "default"입니다(로그 데이터에만 유효)

기능 설명:

이 도구는 탐지 데이터(메트릭, 로그, 트레이싱)를 한 라운드 생성하여 DataWay로 전송한 뒤, 데이터를 찾을 때까지 또는 사용자가 중단할 때까지 계속 조회하고 각 데이터 유형의 지연 시간을 출력합니다. 도구는 계속 실행되며, 각 테스트 라운드 간격은 10초입니다.

문서 평가

이 페이지가 도움이 되었나요?