配置 Prometheus
Grafana 内置支持 Prometheus。如果您刚开始接触 Prometheus,以下文档将帮助您开始使用 Prometheus 和 Grafana
配置数据源
要添加 Prometheus 数据源,请完成以下步骤
- 点击左侧菜单中的连接 (Connections)。
- 在连接 (Connections)下,点击添加新连接 (Add new connection)。
- 在搜索栏中输入
Prometheus
。 - 点击Prometheus 数据源 (Prometheus data source)。
- 点击右上角的添加新数据源 (Add new data source)。
- 输入数据源名称。
您将进入设置 (Settings)选项卡,在此配置 Prometheus。
配置选项
以下是 Prometheus 的配置选项列表。
要配置的第一个选项是连接名称
名称 (Name) - 数据源名称。这是您在面板和查询中引用此数据源的方式。示例:prometheus-1, prom-metrics。
默认 (Default) - 勾选以将其设为仪表盘面板中的默认名称。当您进入仪表盘面板时,这将是默认选定的数据源。
连接部分
- Prometheus 服务器 URL (Prometheus server URL) - 您的 Prometheus 服务器的 URL。
如果您的 Prometheus 服务器是本地的,请使用
https://:9090
。如果它在网络内的服务器上,则这是运行 Prometheus 的带有端口的 URL。示例:http://prometheus.example.orgname:9090
。注意
如果您在不同的容器环境中一起运行 Grafana 和 Prometheus,每个 localhost 都指向其自己的容器 - 如果服务器 URL 是 localhost:9090,这意味着 Grafana 容器内的端口 9090,而不是主机上的端口 9090。
您应该使用 Prometheus 容器的 IP 地址,或者在使用 Docker Compose 时使用主机名。另外,您可以考虑使用
http://host.docker.internal:9090
。
身份验证部分
您可以在身份验证部分选择几种身份验证方法。
注意
使用 TLS (传输层安全性) 在处理 Prometheus 时增加一层安全性。有关使用 Prometheus 设置 TLS 加密的信息,请参阅 使用 TLS 加密保护 Prometheus API 和 UI 端点。您必须在 Grafana 中设置这些选项之前将 TLS 设置添加到您的 Prometheus 配置文件中。
基本身份验证 (Basic authentication) - 最常见的身份验证方法。使用您的
数据源
用户名和数据源
密码进行连接。携带凭据 (With credentials) - 勾选以启用在跨站点请求中发送凭据,例如 cookie 或 auth header。
TLS 客户端身份验证 (TLS client authentication) - 勾选以使用客户端身份验证。启用后,添加
服务器名称 (Server name)
、客户端证书 (Client cert)
和客户端密钥 (Client key)
。客户端提供一个由服务器验证的证书,以建立客户端的信任身份。客户端密钥加密客户端和服务器之间的数据。携带 CA 证书 (With CA cert) - 使用 CA 证书进行身份验证。按照 CA(证书颁发机构)的说明下载证书文件。
跳过 TLS 验证 (Skip TLS verify) - 勾选以绕过 TLS 证书验证。
转发 OAuth 身份 (Forward OAuth identity) - 转发查询数据源的用户 OAuth 访问令牌(如果可用,也包括 OIDC ID 令牌)。
自定义 HTTP header
Header - 添加自定义 header。这允许根据您的 Prometheus 实例需求传递自定义 header。
值 (Value) - header 的值。
高级设置
以下是附加配置选项。
高级 HTTP 设置
允许的 Cookie (Allowed cookies) - 按名称指定应转发到数据源的 cookie。Grafana 代理默认删除所有转发的 cookie。
超时 (Timeout) - HTTP 请求超时时间。必须以秒为单位。默认值为 30 秒。
告警
- 通过告警 UI 管理告警 (Manage alerts via Alerting UI) - 勾选以为此数据源启用Grafana 告警中的数据源管理规则。对于
Mimir
,它允许管理数据源管理规则和告警。对于Prometheus
,它仅支持查看现有规则和告警,这些规则和告警显示为数据源管理类型。
注意
通过告警 UI 管理告警 (Manage alerts via Alerting UI) 选项默认启用。您可以通过在 Grafana 配置文件中设置 default_manage_alerts_ui_toggle 选项来更改此行为。
间隔行为
抓取间隔 (Scrape interval) - 设置为在 Prometheus 中配置的典型抓取和评估间隔。默认值为
15s
。查询超时 (Query timeout) - 默认值为
60s
。
查询编辑器
默认编辑器 (Default editor) - 设置默认编辑器。选项为
Builder
或Code
。有关查询编辑器类型的信息,请参阅Prometheus 查询编辑器。禁用指标查找 (Disable metrics lookup) - 勾选以禁用查询字段自动完成中的指标选择器和指标/标签支持。如果您在使用大型 Prometheus 实例时遇到性能问题,这会有所帮助。
性能
Prometheus 类型 (Prometheus type) - 您的 Prometheus 服务器类型。有四个选项:
Prometheus
,Cortex
,Mimir
, 和Thanos
。缓存级别 (Cache level) - 编辑器查询的浏览器缓存级别。有四个选项:
低 (Low)
,中 (Medium)
,高 (High)
, 或无 (None)
。增量查询 (beta) (Incremental querying (beta)) - 更改相对查询的默认行为,使其始终从 Prometheus 实例请求最新数据。启用此选项可减少数据库和网络负载。
禁用记录规则 (beta) (Disable recording rules (beta)) - 勾选以禁用记录规则。启用此选项可提高仪表盘性能。
其他
自定义查询参数 (Custom query parameters) - 向 Prometheus 查询 URL 添加自定义参数。例如
timeout
,partial_response
,dedup
, 或max_source_resolution
。多个参数应使用 ‘&’ 连接。HTTP 方法 (HTTP method) - 使用
POST
或GET
HTTP 方法查询您的数据源。POST
是推荐的预选方法,因为它允许更大的查询。如果您的 Prometheus 版本早于 2.1 或网络中限制了POST
请求,请更改为GET
。
Exemplars
Exemplars 支持仅适用于 Prometheus 数据源。如果您是第一次使用 exemplars,请参阅Exemplars 简介。Exemplar 是在给定时间间隔内采集的测量的特定追踪代表。
内部链接 (Internal link) - 勾选以启用内部链接。启用后,会显示数据源选择器。选择用于 exemplar 数据的后端追踪数据存储。
URL - (如果您禁用了
内部链接
则可见)定义外部链接的 URL 追踪后端。您可以使用${__value.raw}
宏插值字段中的值。数据源 (Data source) - (如果您启用了
内部链接
则可见) exemplar 将导航到的数据源。URL 标签 (URL label) - 添加自定义显示标签以覆盖
标签名称 (Label name)
字段的值。标签名称 (Label name) -
labels
对象中用于获取 traceID 属性的字段名称。移除 Exemplar 链接 (Remove exemplar link) - 点击以移除现有链接。
故障排除
如有需要,请参阅以下故障排除信息。
数据未显示在探索指标中
如果您在成功测试连接到 Prometheus 数据源或将指标发送到 Grafana Cloud 后,数据未显示在探索中,请确保您在数据源 (Data source)下拉菜单中选择了正确的数据源。如果您使用 remote_write 将指标发送到 Grafana Cloud,数据源名称遵循约定 grafanacloud-stackname-prom
。
下图显示了探索指标中的数据源 (Data source)字段。