mirror of
https://github.com/fastapi-practices/fastapi-best-architecture.git
synced 2026-09-21 13:12:24 +00:00
* Add the Grafana observability suite * Update configs * Update docker script directory structure * Fix the otel trace id * Add grafana ini * Fix some configs and loguru integration * Add the celery grafana * Update Grafana dashboards * Update configs * Fix issues with the panel * Update grafana configs * Update grafana dashboards * Optimized panel styles * Add sqlalchemy traces * Fix the CORS * Update the grafana query and config * Update grafana status is off by default
165 lines
4.9 KiB
YAML
165 lines
4.9 KiB
YAML
# ============================================================================
|
|
# Grafana 数据源 Provisioning 配置文件
|
|
# 官方文档: https://grafana.com/docs/grafana/latest/administration/provisioning/#datasources
|
|
# 用于自动配置数据源,实现基础设施即代码
|
|
# ============================================================================
|
|
|
|
# API 版本号
|
|
# 当前仅支持版本 1
|
|
apiVersion: 1
|
|
|
|
# datasources: 数据源列表
|
|
# 定义 Grafana 连接的所有后端数据存储
|
|
datasources:
|
|
# ==========================================================================
|
|
# Loki 数据源配置
|
|
# Loki 是 Grafana 的日志聚合系统,类似于 Prometheus 但用于日志
|
|
# 官方文档: https://grafana.com/docs/loki/latest/
|
|
# ==========================================================================
|
|
- name: Loki
|
|
# 数据源显示名称,在 Grafana UI 中显示
|
|
|
|
uid: loki
|
|
# 数据源唯一标识符
|
|
# 用于在仪表盘和告警规则中引用此数据源
|
|
|
|
type: loki
|
|
# 数据源类型
|
|
# 必须与 Grafana 支持的数据源插件类型匹配
|
|
|
|
url: http://fba_loki:3100
|
|
# Loki 服务器地址
|
|
|
|
isDefault: false
|
|
# 是否设为默认数据源
|
|
|
|
jsonData:
|
|
# 数据源特定的 JSON 配置
|
|
|
|
derivedFields:
|
|
# 派生字段配置
|
|
# 用于从日志中提取字段并创建链接到其他数据源
|
|
# 这是实现日志到链路追踪关联的关键配置
|
|
|
|
- datasourceUid: tempo
|
|
# 目标数据源的 UID
|
|
# 点击链接时将跳转到此数据源
|
|
|
|
matcherRegex: '"traceid":"([a-f0-9]{32})"'
|
|
# 正则表达式,用于从日志内容中提取 Trace ID
|
|
|
|
matcherType: regex
|
|
# 匹配器类型
|
|
# 可选值: regex(正则表达式)
|
|
|
|
name: TraceID
|
|
# 派生字段的名称
|
|
# 将显示在日志详情中
|
|
|
|
url: $${__value.raw}
|
|
# 链接 URL 模板
|
|
# $${__value.raw} 表示提取的原始值
|
|
|
|
urlDisplayLabel: 查看 Trace
|
|
# 链接显示的文本标签
|
|
|
|
# ==========================================================================
|
|
# Prometheus 数据源配置
|
|
# Prometheus 是云原生监控系统,用于收集和存储时序指标数据
|
|
# 官方文档: https://prometheus.io/docs/
|
|
# ==========================================================================
|
|
- name: Prometheus
|
|
# 数据源显示名称
|
|
|
|
uid: prometheus
|
|
# 数据源唯一标识符
|
|
|
|
type: prometheus
|
|
# 数据源类型
|
|
|
|
url: http://fba_prometheus:9090
|
|
# Prometheus 服务器地址
|
|
|
|
isDefault: true
|
|
# 设为默认数据源
|
|
|
|
jsonData:
|
|
httpMethod: POST
|
|
# 查询使用的 HTTP 方法
|
|
|
|
exemplarTraceIdDestinations:
|
|
# Exemplar(范例)配置
|
|
# Exemplar 是指标数据点关联的 Trace ID
|
|
# 用于从指标跳转到对应的链路追踪
|
|
|
|
- name: TraceID
|
|
# Exemplar 中 Trace ID 的字段名称
|
|
|
|
datasourceUid: tempo
|
|
# 目标 Tempo 数据源的 UID
|
|
# 点击 Exemplar 时将跳转到此数据源查看 Trace
|
|
|
|
# ==========================================================================
|
|
# Tempo 数据源配置
|
|
# Tempo 是 Grafana 的分布式链路追踪后端
|
|
# 官方文档: https://grafana.com/docs/tempo/latest/
|
|
# ==========================================================================
|
|
- name: Tempo
|
|
# 数据源显示名称
|
|
|
|
uid: tempo
|
|
# 数据源唯一标识符
|
|
|
|
type: tempo
|
|
# 数据源类型
|
|
|
|
url: http://fba_tempo:3200
|
|
# Tempo 服务器地址
|
|
|
|
jsonData:
|
|
nodeGraph:
|
|
enabled: true
|
|
# 启用节点图功能
|
|
# 可视化展示服务之间的调用关系图
|
|
|
|
tracesToLogsV2:
|
|
# Trace 到日志的关联配置(V2 版本)
|
|
# 允许从 Trace 详情页面跳转到相关日志
|
|
|
|
datasourceUid: loki
|
|
# 日志数据源的 UID
|
|
|
|
filterByTraceID: true
|
|
# 是否按 Trace ID 过滤日志
|
|
|
|
spanStartTimeShift: "-1m"
|
|
# Span 开始时间偏移
|
|
# 用于捕获 Span 开始前的相关日志
|
|
|
|
spanEndTimeShift: "1m"
|
|
# Span 结束时间偏移
|
|
# 用于捕获 Span 结束后的相关日志
|
|
|
|
customQuery: true
|
|
# 启用自定义查询
|
|
# 允许使用下面的 query 字段自定义日志查询语句
|
|
|
|
query: '{service_name="fba_server"} | json | traceid="${__span.traceId}"'
|
|
# 自定义 LogQL 查询语句
|
|
|
|
search:
|
|
hide: false
|
|
# 是否隐藏搜索功能
|
|
|
|
serviceMap:
|
|
datasourceUid: prometheus
|
|
# 服务地图数据源
|
|
# 使用 Prometheus 中的指标数据生成服务依赖图
|
|
# 需要 Tempo 的 metrics_generator 功能配合
|
|
|
|
lokiSearch:
|
|
datasourceUid: loki
|
|
# Loki 搜索数据源
|
|
# 允许在 Tempo 中使用 Loki 进行日志搜索
|
|
# 实现基于日志内容查找 Trace 的功能
|