Traefik
Traefik 메트릭 정보 수집
설치 설정¶
사전 조건¶
- DataKit 설치
Traefik 설정¶
메트릭¶
Traefik은 기본적으로 Prometheus 프로토콜 방식으로 메트릭을 노출하며, Traefik 설정 파일에 다음 구성을 추가합니다.
[entryPoints]
[entryPoints.metrics]
address = ":9100"
[metrics]
[metrics.prometheus]
entryPoint = "metrics"
buckets = [0.1, 0.3, 1.2, 5.0]
트레이스¶
Traefik은 Zipkin 프로토콜 방식으로 트레이스 정보를 보고할 수 있으며, Traefik 설정 파일에 다음 구성을 추가합니다.
[tracing]
serviceName= "traefik-service"
[tracing.zipkin]
httpEndpoint = "http://<datakit-ip>:9529/api/v2/spans"
sameSpan = true
id128Bit = true
sampleRate = 1.0
로그¶
로그 기능을 활성화한 뒤, Traefik 설정 파일에 다음 구성을 추가합니다. level은 필요에 따라 조정합니다.
DataKit 설정¶
메트릭¶
Traefik 메트릭을 수집하려면 DataKit 설치 디렉터리의 conf.d/samples로 이동한 뒤 다음 명령을 실행합니다.
cp prom.conf.sample traefik.conf
traefik.conf 내용을 조정하며, 주로 urls를 조정합니다. 예시는 다음과 같습니다.
[[inputs.prom]]
## Exporter URLs.
urls = ["http://127.0.0.1:9100/metrics"]
measurement_name = "Traefik"
기타 설정은 필요에 따라 조정, 조정 항목 설명:
- urls:
prometheus메트릭 주소로, 여기에는 해당 컴포넌트가 노출하는 메트릭 URL을 입력합니다. - source: 수집기 별칭이며, 구분해서 사용하는 것을 권장합니다.
- interval: 수집 주기
트레이스¶
DataKit 수집기로 Traefik의 트레이스 데이터를 수집하려면 DataKit 설치 디렉터리의 conf.d/zipkin으로 이동한 뒤 다음 명령을 실행합니다.
cp zipkin.conf.sample zipkin.conf
내용은 조정할 필요가 없습니다.
로그¶
Traefik 로그를 수집하려면 DataKit 설치 디렉터리의 conf.d/log로 이동한 뒤 다음 명령을 실행합니다.
cp log.conf.sample traefik.conf
traefik.conf의 logfiles 내용을 다음과 같이 조정합니다.
[[inputs.logging]]
## Required
## File names or a pattern to tail.
logfiles = [
"/var/log/traefik.log",
]
DataKit 재시작¶
조정이 끝나면 DataKit을 재시작합니다.
메트릭¶
메트릭 세트 Traefik¶
| 메트릭 | 설명 | 단위 |
|---|---|---|
traefik_config_last_reload_failure |
마지막 설정 재로드 실패 시각의 타임스탬프 | s |
traefik_config_last_reload_success |
마지막 설정 재로드 성공 시각의 타임스탬프 | s |
traefik_config_reloads_failure_total |
설정 재로드 실패 총 횟수 | count |
traefik_config_reloads_total |
설정 재로드 총 횟수 | count |
traefik_entrypoint_open_connections |
현재 특정 entrypoint에서 열린 연결 수 | count |
traefik_entrypoint_request_duration_seconds_bucket |
요청 처리 시간의 히스토그램 버킷 | s |
traefik_entrypoint_request_duration_seconds_count |
요청 처리 시간의 히스토그램 카운트 | count |
traefik_entrypoint_request_duration_seconds_sum |
요청 처리 시간의 합계 | s |
traefik_entrypoint_requests_bytes_total |
처리된 요청의 총 바이트 수 | byte |
traefik_entrypoint_requests_total |
처리된 요청 수 | count |
traefik_entrypoint_responses_bytes_total |
처리된 응답의 총 바이트 수 | count |
traefik_router_open_connections |
현재 특정 router에서 열린 연결 수 | count |
traefik_router_request_duration_seconds_bucket |
요청 처리 시간의 히스토그램 버킷 | s |
traefik_router_request_duration_seconds_count |
요청 처리 시간의 히스토그램 카운트 | count |
traefik_router_request_duration_seconds_sum |
요청 처리 시간의 합계 | s |
traefik_router_requests_bytes_total |
처리된 요청의 총 바이트 수 | byte |
traefik_router_requests_total |
처리된 요청 수 | count |
traefik_router_responses_bytes_total |
처리된 응답의 총 바이트 수 | byte |
traefik_service_open_connections |
현재 특정 서비스에서 열린 연결 수 | count |
traefik_service_request_duration_seconds_bucket |
요청 처리 시간의 히스토그램 버킷 | s |
traefik_service_request_duration_seconds_count |
요청 처리 시간의 히스토그램 카운트 | count |
traefik_service_request_duration_seconds_sum |
요청 처리 시간의 합계 | s |
traefik_service_requests_total |
처리된 요청 수 | count |
traefik_service_responses_bytes_total |
처리된 응답의 총 바이트 수 | byte |