在 Azure 托管环境中使用 Prometheus 和 Grafana 进行监视

重要

AKS 上的 Azure HDInsight 已于 2025 年 1 月 31 日停用。 了解更多 信息,请参阅此公告

需要将工作负荷迁移到 Microsoft Fabric 或等效的 Azure 产品,以避免工作负荷突然终止。

重要

此功能目前以预览版提供。 Microsoft Azure 预览版补充使用条款 包括适用于处于 beta 版、预览版或其他尚未正式发布状态的 Azure 功能的更多法律条款。 有关此特定预览版的信息,请参阅 Azure HDInsight on AKS 预览信息 。 有关问题或功能建议,请在 AskHDInsight 上提交请求,并附上详细信息,并关注我们以获取 Azure HDInsight 社区 的更多更新。

群集和服务监视是任何组织不可或缺的一部分。 AKS 上的 Azure HDInsight 附带了 Azure 服务的集成监控体验。 在本文中,我们使用托管的 Prometheus 服务和 Azure Grafana 仪表板进行监控。

Azure 管理的 Prometheus 是监视云环境的服务。 监视是维护其可用性和性能与工作负荷指标。 它从 Azure 实例和其他监视工具中收集资源生成的数据。 数据用于跨多个源提供分析。

Azure 托管 Grafana 是 Grafana Labs 基于 Grafana 软件构建的数据可视化平台。 它构建为由Microsoft运营和支持的完全托管的 Azure 服务。 Grafana 可帮助将指标、日志和跟踪组合到单个用户界面中。 凭借对数据源和图形功能的广泛支持,可以实时查看和分析应用程序和基础结构遥测数据。

本文介绍在 AKS 上的 HDInsight 中启用监视功能的详细信息。

先决条件

  • Azure 托管 Prometheus 工作区。 可以将此工作区视为具有其自己的数据存储库、数据源和解决方案的唯一 Azure Monitor 日志环境。 有关说明,请参阅 创建 Azure 托管 Prometheus 工作区
  • Azure 托管 Grafana 工作区。 有关说明,请参阅 创建 Azure 托管 Grafana 工作区
  • AKS 群集上的 HDInsight。 目前,可以在 AKS 群集类型上将 Azure Managed Prometheus 与以下 HDInsight 配合使用:
    • Apache Spark™
    • Apache Flink®
    • Trino

有关如何在 AKS 群集上创建 HDInsight 的说明,请参阅 AKS上的 Azure HDInsight 入门。

启用 Azure 托管 Prometheus 和 Grafana

必须在群集池级别配置 Azure 托管 Prometheus 和 Grafana 监视,才能在群集级别启用监视功能。 启用监视解决方案时,需要考虑各个阶段。

# 场景 启用 禁用
1 创建群集池 -During Not Supported Default
2 群集池 - 创建后 Supported Not Supported
3 集群 - 在创建期间 Supported Default
4 群集 - 创建后 Supported Supported

创建群集池期间

目前,无论如何无法在群集池创建期间启用托管 Prometheus 。 可以在创建群集池后对其进行配置。

创建群集池后

可以在 Azure 门户中的现有群集池视图内的“集成”选项卡中启用监控。 可以在为群集池配置监视时使用预先创建的工作区或创建新的工作区。

使用预先创建的工作区

  1. 单击 配置 以启用 Azure Prometheus 监视。

    显示“集成配置”选项卡的 屏幕截图。

  2. 单击 高级设置 以附加您的预先创建的工作区。

    显示高级设置的屏幕截图。

    显示配置 Prometheus 步骤 1 的屏幕截图 屏幕截图。

创建 Azure Prometheus 和 Grafana 工作区,并在群集池中启用监视。

可以从 AKS 群集池页面上的 HDI 创建工作区。

  1. 单击 Azure Prometheus 选项旁的 配置

    显示配置 Prometheus 步骤 2 的 屏幕截图。

  2. 单击新建 Azure 托管 Prometheus 工作区

    显示配置 Prometheus 步骤 3 的屏幕截图。

  3. 填写名称、区域,然后单击为 Prometheus 创建

    显示配置 Prometheus 步骤 4 的屏幕截图。

  4. 单击“为 Azure 托管 Grafana 创建新 工作区”

  5. 填写名称和区域,然后单击“创建”以用于Grafana。

    显示配置 Prometheus 步骤 5 的屏幕截图。

    注意

    1. 仅当启用了 Managed Prometheus 时,才能启用托管 Grafana。
    2. 在 AKS 集群池上的 HDInsight 中启用 Azure 托管 Prometheus 工作区和 Azure 托管 Grafana 工作区后,无法再次从集群池中禁用这些工作区。 必须从群集级别禁用它。

在群集创建期间

在创建群集期间启用 Azure 托管 Prometheus

  1. 创建群集池并启用 Azure 管理的 Prometheus 后,用户必须 在同一群集池中的 AKS 群集上部署 HDI 实例

  2. 在群集创建过程中,导航到 集成 页并启用 Azure Prometheus。

    显示启用 Prometheus 监视的 屏幕截图。

创建群集后

您还可以在创建 AKS 集群后启用 Azure 管理的 Prometheus 来支持 HDI

  1. 导航到群集页中的“集成”选项卡。

  2. 使用切换按钮启用 Azure Prometheus 监视,然后单击 保存

    显示如何保存配置的屏幕截图。

    注意

    同样,如果需要关闭 Azure Prometheus 监视,可以通过关闭切换按钮,然后单击“保存”来完成。

启用所需的权限

若要从 AKS 门户上的 HDInsight 查看 Azure 托管 Prometheus 和 Azure Managed Grafana,需要具有以下特定权限。

用户权限:若要查看 Azure 托管 Grafana,用户需要在 Azure 托管 Grafana 工作区的访问控制(IAM)中具有“Grafana 查看器”角色。 查看如何授予用户访问权限,此处

  1. 打开群集池中配置的 Grafana 工作区。

  2. 选择角色为 Grafana Viewer

  3. 选择访问 Grafana 仪表板的用户名。

  4. 选择用户并单击 审阅+ 分配

    注意

    如果用户正在预先创建 Azure 托管 Prometheus,Grafana 标识需要 监视读取器的其他权限。

  5. 在 Grafana 工作区页(链接到群集的工作区页)中,在“标识”选项卡中提供 监视读取者 权限。

    显示如何分配角色的屏幕截图。

  6. 单击 “添加角色分配”。

  7. 选择以下参数

    1. 订阅 范围
    2. 订阅名称。
    3. 作为 监控读取器的角色

    显示如何分配角色的屏幕截图。

    注意

    若要查看 Grafana 用户的其他角色,请参阅此处

查看指标

在本例中,我们将 Apache Spark™ 群集用作示例,假设群集中执行了几个作业,以便获取指标。

查看以下步骤以使用 Grafana 示例模板:

  1. 从此处 下载示例模板,适用于相应的工作负载(在本例中下载 Apache Spark 模板)

  2. 登录到集群中的 Grafana 仪表板。

    显示如何设置时间框架的屏幕截图。

  3. 打开 Grafana 仪表板页面后,单击“新建 > 导入”

    关于如何使用度量标准的屏幕截图。

  4. 单击“上传仪表板 JSON 文件”并上传已下载的 Apache Spark Grafana 模板,然后单击 导入

    显示如何运行查询的屏幕截图。

  5. 上传完成后,可以单击仪表板查看指标。

    显示如何查看输出的屏幕截图。

参考