数据源的作用
数据源是 Grafana 取数的入口:它保存连接信息、访问方式与查询语言,面板里的每条查询都归属于某个数据源。接入指标库时需要填写地址、访问方式与抓取间隔,前者决定连通性,后者参与速率类查询的窗口推算。
访问方式怎么选
访问方式有两种:由 Grafana 服务端代理请求,或让浏览器直连。前者由后端发起请求,适合内网与需要保密的环境;后者要求浏览器能直达数据源,只在网络互通时可用。容器化部署最常见的问题是把地址写成回环地址,结果请求打到了容器自身。
抓取间隔为什么要如实填写
数据源配置里的抓取间隔不是连接参数,而是计算速率窗口的输入:它参与自适应窗口的推算,让不同时间范围下的速率查询都使用合理窗口。填得比实际更小会产生误导性的短窗口,填得过大则会把真实变化抹平。
基本信息
| 必填项 | 服务地址与访问方式 |
|---|---|
| 常用选项 | 抓取间隔、查询超时、自定义请求头 |
| 验证方式 | 保存后执行连通性测试,确认网络与权限都正常 |
| 配置入口 | 连接管理下的数据源页面,也可通过接口创建 |
| 版本差异 | 较新版本把数据源入口归入连接管理,路径与旧版不同 |
典型使用场景
- 接入指标库:为看板与告警提供统一取数入口
- 多环境并行:生产与预发各配一个数据源,用变量切换
- 多集群汇总:为不同集群各建数据源,或经统一查询层聚合
- 受限访问:用代理方式让浏览器不直接接触内网服务
- 自动化配置:用接口把数据源配置纳入部署流程
- 日志与链路接入:为不同信号各建数据源,在探索区联排使用
两种配置方式
两种配置方式
# 界面:连接管理 → 数据源 → 新增 → 选择类型
# 地址: http://prometheus:9090 访问方式: 服务端代理
# 抓取间隔: 15s(与后端采集间隔保持一致)
# 接口方式便于纳入自动化部署
curl -X POST http://localhost:3000/api/datasources \
-H 'Content-Type: application/json' \
-d '{"name":"Prometheus","type":"prometheus","url":"http://prometheus:9090","access":"proxy","isDefault":true}'关键配置项
| 配置项 | 作用 | 注意 |
|---|---|---|
| 地址 | 数据源的查询入口 | 容器环境不要写回环地址 |
| 访问方式 | 决定由谁发起请求 | 内网与保密场景用服务端代理 |
| 抓取间隔 | 速率窗口计算的输入 | 必须与真实采集间隔一致 |
| 查询超时 | 限制单次查询时长 | 过长会占满后端连接 |
| 自定义请求头 | 附加鉴权或租户信息 | 避免把凭据写进看板变量 |
常见报错与原因
| 表现 | 常见原因 | 排查方式 |
|---|---|---|
| 保存即报连接失败 | 地址或端口写错 | 从 Grafana 容器内测试连通性 |
| 测试通过但面板无数据 | 时间范围或表达式不匹配 | 换到探索区用简单表达式验证 |
| 部分面板报权限错误 | 数据源侧权限不足 | 用相同凭据直接调用后端接口 |
| 间歇性超时 | 查询过重或后端压力高 | 看后端查询耗时与并发 |
接入后的检查项
- 默认数据源是否设置:新建面板时能直接选到
- 时间范围是否正确:确认与数据源的时区与时间戳口径一致
- 变量是否可用:依赖该数据源的变量下拉能正常展开
- 查询并发是否可控:看板刷新频率与面板数量要评估后端压力
抓取间隔填错的影响只在速率类查询上体现:普通曲线看不出异常,速率与分位类面板会系统性偏移。
访问方式选择错误会让测试通过而实际打不开:浏览器直连在内网环境通常不可行,除明确需要外优先使用服务端代理。