Grafana 数据源管理
Data Source 是 Grafana 到后端系统的连接定义。它包含 URL、认证、TLS、查询行为和权限边界,应通过 Provisioning、Helm 或 Terraform 管理,而不是让每位用户在生产 UI 中随意创建。
1. 数据源工作流程
Panel 或 Explore 发起查询后,Grafana 后端以数据源配置的身份访问目标系统,再将结果返回浏览器。推荐 access: proxy,让浏览器只访问 Grafana,避免内网地址和凭据泄露到客户端。
2. Prometheus 数据源
provisioning/datasources/prometheus.yaml
apiVersion: 1
datasources:
- name: Prometheus
uid: prometheus
type: prometheus
access: proxy
url: http://prometheus.monitoring.svc:9090
isDefault: true
editable: false
jsonData:
httpMethod: POST
timeInterval: 30s
使用 up 验证连接。uid 是 Dashboard 与告警引用的稳定标识,名称可调整但 UID 不应随意更改。Prometheus 采集和 PromQL 见 Prometheus 文档。
3. Loki 与 Elasticsearch
Loki 使用 LogQL 查询标签化日志,应让日志标签与指标中的 cluster、namespace、service 等维度一致,以便从 Panel 下钻。Elasticsearch 接入时明确索引模式、时间字段、只读账号、查询超时与索引生命周期;不要使用管理员账号作为 Grafana 数据源凭据。
4. 数据源治理
- 数据源凭据采用独立最小权限身份,并通过 Secret 注入。
- 用 NetworkPolicy、防火墙或安全组限制 Grafana 到数据源的网络访问。
- 多环境使用不同数据源 UID 或清晰的
-dev、-staging、-prod命名,避免误查生产。 - 变更前在预发验证 TLS、认证、查询延迟与权限;变更后保留责任人和密钥轮换记录。