經(jīng)過幾天的谷歌搜索,我一直無法找到答案。我有一個在 Marathon/Mesos 中運(yùn)行的服務(wù)。我有一個 Prometheus 集群抓取指標(biāo)。我的 Marathon 指標(biāo)端口配置如下所示:{
"containerPort": 8081,
"hostPort": 0,
"servicePort": 31301,
"protocol": "tcp",
"labels": {
"metrics": "/metrics"
}}Prometheus,僅配置了樣板 marathon-sd 配置,成功找到了這個目標(biāo),但它隨后會監(jiān)聽以下指標(biāo)__address__ = [NodeIP]:31301:因此它使用服務(wù)端口而不是動態(tài)分配的主機(jī)端口偵聽主機(jī)的 IP,而服務(wù)端口僅對 Marathon-LB 重要。我知道 Marathon 將$PORT0容器中的環(huán)境變量定義為主機(jī)端口,但是我不知道如何從 Prometheus SD 配置訪問它,也不知道如何訪問 Marathon 動態(tài)配置的其他字段,例如Endpoints. 有沒有人有什么建議?我不能/不想分配一個靜態(tài)變量hostPort,因為我的容器數(shù)量多于集群中的物理節(jié)點(diǎn)數(shù)量,容器編排的意義就在于此。
1 回答

富國滬深
TA貢獻(xiàn)1790條經(jīng)驗 獲得超9個贊
這是Prometheus 中的一個已知錯誤:它使用servicePort
Marathon 應(yīng)用程序定義屬性而不是那個hostPort
。它已在 v2.6.0 中修復(fù)。
- 1 回答
- 0 關(guān)注
- 172 瀏覽
添加回答
舉報
0/150
提交
取消