prometheus动态端口服务发现与marathon/mesos

hsgswve4  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(374)

经过几天的谷歌搜索,我一直找不到答案。我在马拉松比赛中有一项服务。我有一个普罗米修斯集群刮削指标。我的端口配置如下所示:

{
  "containerPort": 8081,
  "hostPort": 0,
  "servicePort": 31301,
  "protocol": "tcp",
  "labels": {
    "metrics": "/metrics"
  }
}

prometheus只配置了一个样板文件marathonsd config,它成功地找到了这个目标,但它随后会侦听以下对象的度量: __address__ = [NodeIP]:31301 ; 因此,它使用服务端口监听主机的ip,而不是动态分配的主机端口,而服务端口只对marathon-lb重要。
我知道马拉松定义了环境变量 $PORT0 但是,在作为主机端口的容器中,我不知道如何从prometheus sd config访问它,也不知道如何访问由marathon等动态配置的其他字段 Endpoints . 有人有什么建议吗?我不能/不想分配一个静态 hostPort 因为我拥有的容器比集群中的物理节点还要多,这在某种程度上和容器编排有关。

8yparm6h

8yparm6h1#

这是普罗米修斯的一个已知错误:它使用 servicePort marathon应用程序定义属性而不是 hostPort 一个。它在v2.6.0中是固定的。

相关问题