为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Marathon/Mesos 的 Prometheus 动态端口服务发现

使用 Marathon/Mesos 的 Prometheus 动态端口服务发现

Go
Helenr 2023-05-22 15:54:05
经过几天的谷歌搜索,我一直无法找到答案。我有一个在 Marathon/Mesos 中运行的服务。我有一个 Prometheus 集群抓取指标。我的 Marathon 指标端口配置如下所示:{   "containerPort": 8081,   "hostPort": 0,   "servicePort": 31301,   "protocol": "tcp",   "labels": {     "metrics": "/metrics"   }}Prometheus,仅配置了样板 marathon-sd 配置,成功找到了这个目标,但它随后会监听以下指标__address__ = [NodeIP]:31301:因此它使用服务端口而不是动态分配的主机端口侦听主机的 IP,而服务端口仅对 Marathon-LB 重要。我知道 Marathon 将$PORT0容器中的环境变量定义为主机端口,但是我不知道如何从 Prometheus SD 配置访问它,也不知道如何访问 Marathon 动态配置的其他字段,例如Endpoints. 有没有人有什么建议?我不能/不想分配一个静态变量hostPort,因为我的容器数量多于集群中的物理节点数量,容器编排的意义就在于此。
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

这是Prometheus 中的一个已知错误:它使用servicePortMarathon 应用程序定义属性而不是那个hostPort。它已在 v2.6.0 中修复。



查看完整回答
反对 回复 2023-05-22
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信