菜单
Grafana Cloud 企业版 开源 RSS

Prometheus 数据源

Prometheus 是一款开源数据库,它使用遥测收集代理来抓取和存储用于监视和警报的指标。如果您刚开始使用 Prometheus,请参阅 什么是 Prometheus?.

Grafana 原生支持 Prometheus。有关下载 Prometheus 的说明,请参阅 Grafana 和 Prometheus 入门.

有关如何将数据源添加到 Grafana 的说明,请参阅 管理文档。只有具有组织 `管理员` 角色的用户才能添加数据源和编辑现有数据源。管理员还可以 通过 YAML 配置数据源,使用 Grafana 的配置系统。

添加 Prometheus 数据源后,您可以 配置它,以便 Grafana 实例的用户可以在 查询编辑器 中创建查询,当他们 构建仪表盘、使用 探索为可视化添加注释 时。

以下指南将帮助您开始使用 Prometheus 数据源

Prometheus API

Prometheus 数据源还与实现 Prometheus 查询 API 的其他项目一起使用。

有关如何从 Grafana 查询其他与 Prometheus 兼容的项目的更多信息,请参阅特定项目的文档

配置数据源

您可以将数据源定义为 YAML 文件的一部分,作为 Grafana 配置系统的一部分进行配置。有关配置的更多信息以及可用配置选项,请参阅 配置 Grafana.

注意

配置数据源后,您将无法编辑它。

配置示例

yaml
apiVersion: 1

datasources:
  - name: Prometheus
    type: prometheus
    access: proxy
    # Access mode - proxy (server in the UI) or direct (browser in the UI).
    url: https://127.0.0.1:9090
    jsonData:
      httpMethod: POST
      manageAlerts: true
      prometheusType: Prometheus
      prometheusVersion: 2.44.0
      cacheLevel: 'High'
      disableRecordingRules: false
      incrementalQueryOverlapWindow: 10m
      exemplarTraceIdDestinations:
        # Field with internal link pointing to data source in Grafana.
        # datasourceUid value can be anything, but it should be unique across all defined data source uids.
        - datasourceUid: my_jaeger_uid
          name: traceID

        # Field with external link.
        - name: traceID
          url: 'https://127.0.0.1:3000/explore?orgId=1&left=%5B%22now-1h%22,%22now%22,%22Jaeger%22,%7B%22query%22:%22$${__value.raw}%22%7D%5D'

使用 Prometheus 查看 Grafana 指标

Grafana 在 `/metrics` 端点上公开用于 Prometheus 的指标。我们还在 Grafana 中捆绑了一个仪表盘,因此您可以更快地开始查看指标。

要导入捆绑的仪表盘

  1. 导航到数据源的 配置页面.
  2. 选择 **仪表盘** 选项卡。

这将显示 Grafana 和 Prometheus 的仪表盘。

  1. 选择要导入的仪表盘的 **导入**。

有关这些指标的详细信息,请参阅 内部 Grafana 指标.

Amazon Managed Service for Prometheus

Prometheus 数据源与 Amazon Managed Service for Prometheus 一起使用。

如果您使用 AWS Identity and Access Management (IAM) 策略来控制对 Amazon Elasticsearch Service 域的访问,则必须使用 AWS Signature Version 4 (AWS SigV4) 来签署对该域的所有请求。

有关 AWS SigV4 的详细信息,请参阅 AWS 文档.

AWS Signature Version 4 身份验证

注意

在 Grafana v7.3.5 及更高版本中可用。

要使用 SigV4 身份验证将 Prometheus 数据源连接到 Amazon Managed Service for Prometheus,请参阅 AWS 指南,了解 设置 Grafana 开源或 Grafana 企业版以供 AMP 使用.

如果您在 Amazon EKS 集群中运行 Grafana,请遵循 AWS 指南,了解 在 Amazon EKS 集群中运行的 Grafana 中查询.

Azure 身份验证设置

Prometheus 数据源与 Azure 身份验证一起使用。要配置 Azure 身份验证,请参阅 配置 Azure Active Directory (AD) 身份验证.

在 Grafana Enterprise 中,更新 .ini 配置文件:配置 Grafana。根据您的设置,.ini 文件位于 此处。在 **[auth]** 部分中添加以下设置

bash
[auth]
azure_auth_enabled = true

注意

如果您正在使用 Azure 身份验证设置,请勿启用Forward OAuth identity。两者都使用相同的 HTTP 授权头。Azure 设置将被 OAuth 令牌覆盖。

示例

示例将来自特定事件的高基数元数据与传统的时序数据关联起来。有关它们工作原理的详细信息,请参阅 Prometheus 文档中的示例简介

注意

在 Prometheus v2.26 及更高版本以及 Grafana v7.4 及更高版本中可用。

Grafana 7.4 及更高版本可以在 Explore 和仪表板中同时显示指标旁边的示例数据。

Screenshot showing the detail window of an Exemplar
显示示例详细信息窗口的屏幕截图

请参阅配置 Prometheus 数据源中的示例部分。

Exemplars
示例

增量仪表板查询(beta)

从 Grafana 10 开始,可以将 Prometheus 数据源配置为增量查询实时仪表板,而不是在每次仪表板刷新时重新查询整个持续时间。

这可以在数据源配置或配置文件中切换(在 jsonData 中的incrementalQuerying下)。此外,可以使用incrementalQueryOverlapWindow jsonData 字段配置增量查询之间的重叠量,默认值为10m(10 分钟)。

增加incrementalQueryOverlapWindow 的持续时间会增加每个增量查询的大小,但这对于最近数据结果不一致的实例可能会有所帮助。

记录规则(beta)

可以将 Prometheus 数据源配置为在数据源配置或配置文件中(在 jsonData 中的disableRecordingRules下)禁用记录规则。