为第三方监控工具配置附加组件
您可在部署过程中配置网络流量监测仪附加组件,对外暴露 OpenMetrics 服务端。此举可实现与 Prometheus 等第三方监控工具的集成,让您能够在现有监控基础设施中收集并分析网络流指标。了解有关 OpenMetrics 的更多信息
如需启用 OpenMetrics 服务端,需将 OPEN_METRICS、OPEN_METRICS_ADDRESS 和 OPEN_METRICS_PORT 添加到 EKS 网络流量监测仪附加组件的配置值中。本指南将介绍如何分别通过 CLI 和控制台完成此操作。有关添加配置值的更多详情,请参阅 Amazon EKS 插件高级配置
CLI 配置
使用 Amazon Command Line Interface时,可将上述配置值作为参数传入:
aws eks create-addon \ --cluster-name my-cluster-name \ --addon-name aws-network-flow-monitoring-agent \ --addon-version v1.1.0-eksbuild.1 \ --configuration-values '{"env":{"OPEN_METRICS":"on","OPEN_METRICS_ADDRESS":"0.0.0.0","OPEN_METRICS_PORT":9109}}'
控制台配置
使用 Amazon EKS 控制台时,可在可选配置设置下的配置值模块中添加上述配置值。
示例 JSON:
{ "env": { "OPEN_METRICS": "on", "OPEN_METRICS_ADDRESS": "0.0.0.0", "OPEN_METRICS_PORT": 9109 } }
示例 YAML:
env: OPEN_METRICS: "on" OPEN_METRICS_ADDRESS: "0.0.0.0" OPEN_METRICS_PORT: 9109
EKS 网络流量监测仪附加组件 OpenMetric 参数
OPEN_METRICS:
启用或关闭 OpenMetrics 功能。未配置时默认为关闭状态
类型:字符串
值:["on","off"]
OPEN_METRICS_ADDRESS:
OpenMetrics 端点的监听 IP 地址。未配置时默认值为 127.0.0.1
类型:字符串
OPEN_METRICS_PORT:
OpenMetrics 端点的监听端口。未配置时默认值为 80
类型:整数
取值范围:[0..65535]
重要提示:将 OPEN_METRICS_ADDRESS 配置为 0.0.0.0 时,该指标端点将支持所有网络接口的访问。建议将值设为 127.0.0.1,仅允许本地主机访问;或部署相应的网络安全控制策略,将访问权限仅限授予已授权的监控系统。
问题排查
若在配置 OpenMetrics 服务端时遇到问题,可通过以下信息诊断并解决常见故障。
指标未显示
问题现象:已完成 OpenMetrics 服务端配置,但监控工具中未显示相关指标。
问题排查步骤:
验证附加组件配置中是否已启用 OpenMetrics 服务端:
检查配置值内的 OPEN_METRICS 参数是否设为“on”。具体可参阅 describe-addon 命令说明。
在配置选定附加组件设置中,确认附加组件版本为 v1.1.0 或更高版本。
直接测试指标端点的连通性:
通过地址 http://
pod-ip:port/metrics 访问指标(将 pod-ip 替换为实际的容器组(pod)IP 地址,port 替换为配置的端口)。若无法访问该端点,需核查网络配置及安全组规则设置。
验证监控工具配置情况。参考所用监控工具的用户指南,完成以下配置检查:
确认监控工具(如 Prometheus)已配置为采集正确的指标端点。
检查指标采集的时间间隔与超时时间配置是否合理。
验证监控工具是否具备访问该容器组(pod)IP 地址的网络权限。
特定容器组(pod)指标缺失
问题现象:集群内部分容器组(pod)可采集到指标,其他容器组(pod)的指标无法获取。
问题排查步骤:
网络流量监测仪附加组件不支持启用“hostNetwork: true”的容器组(pod)。若容器组(pod)的配置清单中包含该设置,将无法采集到该容器组(pod)的相关指标。
解决办法:若条件允许,从容器组(pod)配置清单中移除“hostNetwork: true”设置。若应用程序业务必须使用主机网络,则可为这些特定容器组(pod)采用其他监控方案。
“连接被拒绝”错误
问题现象:尝试访问指标端点时,出现“连接被拒绝”错误。
问题排查步骤:
验证 OPEN_METRICS_ADDRESS 配置:
若该配置设为 127.0.0.1,指标端点仅支持从容器组(pod)内部访问。
若该配置设为 0.0.0.0,集群内其他容器组(pod)应可访问该指标端点。
确认监控工具能够连通已配置的访问地址。
检查 OPEN_METRICS_PORT 配置:
验证该端口号未被其他服务占用。
确认端口号处于有效取值范围(1-65535)内。
核实所有相关安全组及网络策略均允许该端口的流量通行。
验证步骤
确认 OpenMetrics 配置正常生效的操作步骤如下:
检查附加组件状态:
aws eks describe-addon --cluster-nameyour-cluster-name--addon-name aws-network-flow-monitoring-agent验证容器组(pod)运行状态:
kubectl get pods app.kubernetes.io/name=aws-network-flow-monitoring-agent从集群内部测试指标端点连通性:
kubectl execadd-on-pod-name-- curl localhost:9109/metrics将 9109 替换为配置的端口号,将容器组(pod)名称替换为附加组件对应的容器组(pod)名称。