# Declarative datasource provisioning. # The `uid` values are STABLE and are what dashboard JSON files reference: # "datasource": { "type": "prometheus", "uid": "prometheus" } apiVersion: 1 deleteDatasources: - name: Prometheus orgId: 1 - name: Loki orgId: 1 - name: Tempo orgId: 1 datasources: - name: Prometheus uid: prometheus type: prometheus access: proxy orgId: 1 url: http://prometheus:9090 isDefault: true editable: false jsonData: httpMethod: POST timeInterval: 30s manageAlerts: false exemplarTraceIdDestinations: - name: trace_id datasourceUid: tempo - name: Loki uid: loki type: loki access: proxy orgId: 1 url: http://loki:3100 editable: false jsonData: timeout: 60 maxLines: 1000 # Logs -> traces: a trace_id in the log line opens Tempo. derivedFields: - name: TraceID matcherType: regex matcherRegex: '"?trace[_-]?id"?[:=]"?([a-f0-9]{16,32})' url: '$${__value.raw}' datasourceUid: tempo urlDisplayLabel: View trace - name: Tempo uid: tempo type: tempo access: proxy orgId: 1 url: http://tempo:3200 editable: false jsonData: httpMethod: GET streamingEnabled: search: true metrics: true # Service graph fed by the metrics_generator -> Prometheus. serviceMap: datasourceUid: prometheus nodeGraph: enabled: true tracesToLogsV2: datasourceUid: loki spanStartTimeShift: -5m spanEndTimeShift: 5m filterByTraceID: true filterBySpanID: false tags: - key: service.name value: app tracesToMetrics: datasourceUid: prometheus spanStartTimeShift: -5m spanEndTimeShift: 5m tags: - key: service.name value: service