使用 Amazon Managed Service for Prometheus 监控 Flink 任务 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 Amazon Managed Service for Prometheus 监控 Flink 任务

您可以将 Apache Flink 与 Amazon Managed Service for Prometheus(管理门户)集成。Amazon Managed Service for Prometheus 支持从在 Amazon EKS 上运行的集群中摄取 Amazon Managed Service for Prometheus 服务器的指标。Amazon Managed Service for Prometheus 可与已 Amazon EKS 集群上运行的 Prometheus 服务器配合使用。运行集成了 Amazon EMR Flink Operator 的 Amazon Managed Service for Prometheus 会自动部署并配置 Prometheus 服务器,使其与 Amazon Managed Service for Prometheus 集成。

  1. 创建 Amazon Managed Service for Prometheus 工作区。此工作空间用作摄取端点。稍后需要远程写入 URL。

  2. 设置服务账户的 IAM 角色。

    要使用这种入门方法,请使用运行 Prometheus 服务器的 Amazon EKS 集群中服务账户的 IAM 角色。此类角色又称为服务角色

    如果尚无此类角色,请设置服务角色从 Amazon EKS 集群中摄取指标

    请创建一个名为 amp-iamproxy-ingest-role 的 IAM 角色,然后再继续操作。

  3. 使用 Amazon Managed Service for Prometheus 安装 Amazon EMR Flink Operator。

您已经拥有了一个 Amazon Managed Service for Prometheus 工作区,一个专用于 Amazon Managed Service for Prometheus 的 IAM 角色,以及所需的权限,现在可以安装 Amazon EMR Flink 运算符。

创建 enable-amp.yaml 文件。此文件允许您使用自定义配置来替换 Prometheus 的亚马逊托管服务设置。请务必使用自己的角色。

kube-prometheus-stack: prometheus: serviceAccount: create: true name: "amp-iamproxy-ingest-service-account" annotations: eks.amazonaws.com/role-arn: "arn:aws:iam::<AWS_ACCOUNT_ID>:role/amp-iamproxy-ingest-role" remoteWrite: - url: <AMAZON_MANAGED_PROMETHEUS_REMOTE_WRITE_URL> sigv4: region: <AWS_REGION> queueConfig: maxSamplesPerSend: 1000 maxShards: 200 capacity: 2500

使用 Helm Install --set 命令将覆盖传递给 flink-kubernetes-operator 图表。

helm upgrade -n <namespace> flink-kubernetes-operator \ oci://public.ecr.aws/emr-on-eks/flink-kubernetes-operator \ --set prometheus.enabled=true -f enable-amp.yaml

此命令会自动在操作员端口 9999 上安装 Prometheus 报告器。未来的任何 FlinkDeployment 也会在 9249 上公开一个 metrics 端口。

  • Flink Operator 指标会出现在 Prometheus 中的 flink_k8soperator_ 标签下。

  • Flink Task Manager 指标会出现在 Prometheus 的 flink_taskmanager_ 标签下。

  • Flink Job Manager 指标会出现在 Prometheus 的 flink_jobmanager_ 标签下。