Профиль observability: otel-collector (приём OTLP) -> tempo (трейсы), cadvisor/node-exporter (ресурсы) в Prometheus, дашборды Deal-Traces и Deal-Resources, datasource Tempo и связь логов с трейсами, алерты по ресурсам; OTel-env у всех процессов.
56 lines
2.2 KiB
YAML
56 lines
2.2 KiB
YAML
# Grafana — provisioning датасорсов Loki (логи) и Prometheus (метрики) — Ruling 7/9; метрики — этап 12, пакет A.
|
||
# Монтируется в /etc/grafana/provisioning/datasources (compose.prod.yml).
|
||
|
||
apiVersion: 1
|
||
|
||
datasources:
|
||
- name: Loki
|
||
# UID фиксирован: на него ссылаются панели дашбордов Deal-Health/Auth/Errors/Rps/Logs (datasource uid: loki).
|
||
uid: loki
|
||
type: loki
|
||
access: proxy
|
||
url: http://loki:3100
|
||
isDefault: true
|
||
jsonData:
|
||
maxLines: 1000
|
||
# Клик по TraceId в логе открывает трейс в Tempo (обогащение логов TraceContextEnricher).
|
||
derivedFields:
|
||
- name: TraceID
|
||
matcherRegex: '"TraceId":"([0-9a-f]+)"'
|
||
datasourceUid: tempo
|
||
url: "$${__value.raw}"
|
||
|
||
- name: Prometheus
|
||
# UID фиксирован: на него ссылаются панели дашборда Deal-Metrics-Overview (datasource uid: prometheus).
|
||
# URL — сервис compose-профиля observability; метрики scrape'ит сам Prometheus с /metrics процессов.
|
||
uid: prometheus
|
||
type: prometheus
|
||
access: proxy
|
||
url: http://prometheus:9090
|
||
isDefault: false
|
||
jsonData:
|
||
# Prometheus хранит OTel-гистограммы в нативных bucket'ах — используем нативные histogram_quantile.
|
||
httpMethod: POST
|
||
timeInterval: 15s
|
||
|
||
- name: Tempo
|
||
# UID фиксирован: на него ссылаются панели Deal-Traces и derivedFields логов (datasource uid: tempo).
|
||
uid: tempo
|
||
type: tempo
|
||
access: proxy
|
||
url: http://tempo:3200
|
||
isDefault: false
|
||
jsonData:
|
||
# Из спана трейса — к логам того же сервиса и traceId (обратная корреляция Loki ↔ Tempo).
|
||
tracesToLogsV2:
|
||
datasourceUid: loki
|
||
filterByTraceID: true
|
||
filterBySpanID: false
|
||
spanStartTimeShift: -1m
|
||
spanEndTimeShift: 1m
|
||
# Карта сервисов и граф узлов — из метрик Prometheus.
|
||
serviceMap:
|
||
datasourceUid: prometheus
|
||
nodeGraph:
|
||
enabled: true
|