本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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 集成。
创建 Amazon Managed Service for Prometheus 工作区。此工作空间用作摄取端点。稍后需要远程写入 URL。
设置服务账户的 IAM 角色。
要使用这种入门方法,请使用运行 Prometheus 服务器的 Amazon EKS 集群中服务账户的 IAM 角色。此类角色又称为服务角色。
如果尚无此类角色,请设置服务角色从 Amazon EKS 集群中摄取指标。
请创建一个名为
amp-iamproxy-ingest-role
的 IAM 角色,然后再继续操作。使用 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
文件。此文件允许您使用自定义配置来覆盖 Amazon Managed Service for 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 的 Operator 上安装 Prometheus 报告程序。未来的任何 FlinkDeployment
也会在 9249 上公开一个 metrics
端口。
Flink Operator 指标会出现在 Prometheus 中的
flink_k8soperator_
标签下。Flink Task Manager 指标会出现在 Prometheus 的
flink_taskmanager_
标签下。Flink Job Manager 指标会出现在 Prometheus 的
flink_jobmanager_
标签下。