관측성
개별 방문자를 추적하지 않고 집계 트래픽, 오류, 다운로드, 페이지 사용량을 보기 위해 Prometheus와 OpenTelemetry를 사용하세요.
Prometheus 메트릭
[metrics]
enabled = true
listen = "127.0.0.1:9100"
OTLP 내보내기
FLUXHEIM_OTLP=enabled
OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
OTEL_METRIC_EXPORT_INTERVAL=5000
observability compose stack은 website service에 대해 이 값을 설정합니다. 설정: FLUXHEIM_OTLP=disabled 을 사용하면 같은 binary를 metrics 또는 trace export 없이 실행합니다.
버전 1.6.37은 host-network 포트가 다른 runner 프로세스와 경쟁할 때 새로 할당한 포트로 Prometheus와 Jaeger 임시 시작을 재시도하여 로컬 observability smoke를 더 안정적으로 만듭니다.
레이블은 낮은 카디널리티로 유지하세요: 라우트 그룹, 언어, 상태 클래스, 다운로드 artifact, GitHub 대상은 유용합니다. 원시 IP 주소와 사용자 식별자는 사용하지 않습니다.
dashboard에 표시할 것
| 신호 | 중요한 이유 |
|---|---|
| route별 request | 어떤 public page와 docs가 사용되는지 보여줍니다. |
| locale별 request | 어떤 language에 가장 많은 관리가 필요한지 보여줍니다. |
| status class | 개별 사용자를 추적하지 않고 error를 보여줍니다. |
| Download clicks | 어떤 release artifact가 유용한지 보여줍니다. |
| GitHub click | 어떤 external project link가 중요한지 보여줍니다. |
privacy boundary
- raw request log 대신 aggregate counter와 histogram을 사용하세요.
- Do not label metrics with IP addresses, user agents, or full URLs.
- Prometheus 및 OTLP listener는 loopback 또는 internal network에 유지하세요.
- tracking 동작을 privacy 및 cookies page에 보이게 하세요.