设置 Grafana 开源或 Grafana Enterprise 以与 Amazon Managed Service for Prometheus 配合使用 - Amazon Managed Service for Prometheus

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置 Grafana 开源或 Grafana Enterprise 以与 Amazon Managed Service for Prometheus 配合使用

您可以使用 Grafana 实例在适用于 Prometheus 的亚马逊托管服务中查询您的指标。本主题将带您了解如何使用独立的 Grafana 实例从亚马逊 Prometheus 托管服务中查询指标。

先决条件

Grafana 实例 — 您必须拥有能够使用适用于 Prometheus 的亚马逊托管服务进行身份验证的 Grafana 实例。

Amazon Managed Service for Prometheus 支持使用 Grafana 7.3.5 及更高版本来查询工作区中的指标。版本 7.3.5 及更高版本包括对 AWS 签名版本 4 (Sigv4) 身份验证的支持。

要检查您的 Grafana 版本,请输入以下命令,替换 grafana_install_directory 以及安装 Grafana 的路径:

grafana_install_directory/bin/grafana-server -v

如果您还没有独立的 Grafana,或者需要更新的版本,则可以安装新实例。有关设置独立 Grafana 的说明,请参阅 Grafana 文档中的安装 Grafana。有关开始使用 Grafana 的信息,请参阅 Grafana 文档中的 Grafana 入门

AWS 账户— 您必须 AWS 账户 具有正确权限才能访问您的 Amazon Prometheus 托管服务指标。

要将 Grafana 设置为使用适用于 Prometheus 的亚马逊托管服务,您必须登录到具有AmazonPrometheusQueryAccess策略或、、和权限的账户。aps:QueryMetrics aps:GetMetricMetadata aps:GetSeries aps:GetLabels有关更多信息,请参阅 IAM 权限和策略

下一节将更详细地介绍如何从 Grafana 设置身份验证。

第 1 步:设置 AWS sigv4

适用于 Prometheus 的亚马逊托管服务 AWS Identity and Access Management 与 IAM () 合作,使用凭证保护所有对 Prometheus 的呼叫。APIs IAM默认情况下,Grafana 中的 Prometheus 数据来源假定 Prometheus 不需要身份验证。要让 Grafana 能够利用 Amazon Managed Service for Prometheus 身份验证和授权功能,您将需要在 Grafana 数据来源中启用 Sigv4 身份验证支持。当您使用自行管理的 Grafana 开源服务器或 Grafana 企业服务器时,请按照本页上的步骤进行操作。如果您使用的是亚马逊托管 GrafanaSIGv4,则身份验证是全自动的。有关 Amazon Managed Grafana 的更多信息,请参阅 What is Amazon Managed Grafana?

要在 Grafana 上启用 SigV4,请在 AWS_SDK_LOAD_CONFIGGF_AUTH_SIGV4_AUTH_ENABLED 环境变量设置为 true 的情况下启动 Grafana。GF_AUTH_SIGV4_AUTH_ENABLED 环境变量将覆盖 Grafana 的默认配置以启用 Sigv4 支持。有关更多信息,请参阅 Grafana 文档中的 Configuration

Linux

要在 Linux 上的独立 Grafana 服务器上启用 SigV4,请输入以下命令。

export AWS_SDK_LOAD_CONFIG=true
export GF_AUTH_SIGV4_AUTH_ENABLED=true
cd grafana_install_directory
./bin/grafana-server

Windows

要使用 Windows 命令提示符在 Windows 的独立 Grafana 上启用 SigV4,请输入以下命令。

set AWS_SDK_LOAD_CONFIG=true
set GF_AUTH_SIGV4_AUTH_ENABLED=true
cd grafana_install_directory
.\bin\grafana-server.exe

第 2 步:在 Grafana 中添加 Prometheus 数据源

以下步骤说明了如何在 Grafana 中设置 Prometheus 数据来源,以便查询您的 Amazon Managed Service for Prometheus 指标。

在您的 Grafana 服务器中添加 Prometheus 数据来源
  1. 打开 Grafana 控制台。

  2. 配置下,选择数据来源

  3. 选择添加数据来源

  4. 选择 Prometheus

  5. 对于 HTTPURL,请指定URL显示在适用于 Prometheus 的亚马逊托管服务 Prometheus 控制台的工作空间详情页面中的终端节点查询

  6. 在HTTPURL您刚才指定的中,移除附加到的/api/v1/query字符串,因为 Prometheus 数据源会自动追加该字符串。URL

    正确的URL应该类似于 https://aps-workspaces.us-west-2.amazonaws.com/workspaces/ws-1234a5b6-78cd-901e-2fgh- 3i45j6k178l9。

  7. 身份验证下,选择 Sigv4 身份验证的开关将其启用。

  8. 您可以通过直接在 Grafana 中指定您的长期凭证来配置 Sigv4 授权,也可以使用默认的提供商链。直接指定您的长期凭证可以让您更快地启动,以下步骤首先给出了这些说明。在您更加熟悉将 Grafana 与 Amazon Managed Service for Prometheu 一起使用后,我们建议您使用默认的提供商链,因为它提供了更好的灵活性和安全性。有关设置默认提供商链的更多信息,请参阅指定凭证

    • 要直接使用长期凭证,请执行以下操作:

      1. Sigv4 身份验证详细信息下的身份验证提供商中选择访问和密钥

      2. 访问密钥 ID 中,输入您的 AWS 访问密钥 ID。

      3. 秘密访问密钥中输入您的秘密访问密钥。

      4. 将 “代入角色” ARN 和 “外部 ID” 字段留空。

      5. 对于默认区域,选择 Amazon Managed Service for Prometheus 工作区的区域。此区域应与您在步骤 5 中URL列出的区域相匹配。

      6. 选择保存并测试

        您应该看到以下消息:数据来源正在运行

        以下屏幕截图显示了访问密钥、密钥 Sigv4 身份验证详细信息设置。

        SigV4 Auth Details form showing configured access keys and default region settings.
    • 要改用默认的提供商链(建议在生产环境中使用),请执行以下操作:

      1. Sigv4 身份验证详细信息下,为身份验证提供者选择默认。AWS SDK

      2. 将 “代入角色” ARN 和 “外部 ID” 字段留空。

      3. 对于默认区域,选择 Amazon Managed Service for Prometheus 工作区的区域。此区域应与您在步骤 5 中URL列出的区域相匹配。

      4. 选择保存并测试

        您应该看到以下消息:数据来源正在运行

        如果您没有看到该消息,则下一节将提供有关连接的疑难解答提示。

        以下屏幕截图显示了SDK默认的 SigV4 身份验证详细信息设置。

        SigV4 auth details showing AWS SDK Default provider and us-west-2 region.
  9. 针对新的数据来源测试 PromQL 查询:

    1. 选择探索

    2. 运行示例 PromQL 查询,例如:

      prometheus_tsdb_head_series

步骤 3:(可选)如果 “保存并测试” 不起作用进行故障排除

在前面的步骤中,如果您在选择保存并测试时看到错误,请检查以下内容。

HTTP未找到错误

请确保中的工作空间 ID 正确URL无误。

HTTP禁止出错

此错误意味着凭证无效。请检查以下事项:

  • 检查默认区域中指定的区域是否正确。

  • 检查您的凭证是否有拼写错误。

  • 请确保您使用的凭证具有该AmazonPrometheusQueryAccess政策。有关更多信息,请参阅 IAM 权限和策略

  • 确保您使用的凭证可以访问此 Amazon Managed Service for Prometheus 工作区。

HTTP错误网关错误

查看 Grafana 服务器日志以解决此错误。有关更多信息,请参阅 Grafana 文档中的 Troubleshooting

如果您看到Error http: proxy error: NoCredentialProviders: no valid providers in chain,则默认凭证提供商链无法找到要使用的有效 AWS 凭证。确保您已按照指定凭证中所述设置了凭证。如果要使用共享配置,请确保将 AWS_SDK_LOAD_CONFIG 环境设置为 true