当前位置: 首页 > 知识库问答 >
问题:

库伯内特斯上的普罗米修斯带多容器吊舱

司空丰
2023-03-14

我的kubernetes部署中有一个多容器吊舱:

  • java
  • redis
  • nginx

对于每一个集装箱,普罗米修斯出口商也有一个集装箱。

问题是,如果annotations部分只支持每个pod一个端口,我如何向Prometheus公开这些端口?

annotations:
  prometheus.io/scrape: 'true'
  prometheus.io/port: 'xxxx'

但是我需要这样的东西:

annotations:
  prometheus.io/scrape: 'true'
  prometheus.io/port_1: 'xxxx'
  prometheus.io/port_2: 'yyyy'
  prometheus.io/port_3: 'zzzz'

也许还有其他方法可以从我的多容器pod中获取所有指标?提前感谢您的帮助。

共有2个答案

田玉韵
2023-03-14

您建议的注释应该可以工作。为每个端口注释创建一个scrape\u config,只保留与相应注释端口名称匹配的目标。

云星波
2023-03-14

这是普罗米修斯的一个工作示例。将其放入您自己的配置中。

接下来,添加:

annotations:
   prometheus.io/scrape: 'true'

到您的pod元数据。

在为prom提供 /metrics的每个容器上,创建一个适当的端口,名为metrics

就这样。Prometheus只会抓取这些端口,不会有任何情况,比如您的redis实例在其6379端口上收到超文本传输协议请求。

 类似资料:
  • 我在Linux服务器的Kubernetes上安装了带有2或3个pod的Spring Boot应用程序。为了监控它,我也安装了普罗米修斯。目前,从应用程序到普罗米修斯的衡量标准进展顺利。 但我怀疑普罗米修斯只从一个豆荚中提取指标。对于普罗米修斯配置文件中的如下作业,普罗米修斯是否只从一个pod中获取指标?我怎样才能让普罗米修斯同时刮掉所有的豆荚呢?

  • 我有一个DigitalOcean Kubernetes集群。我已经通过Helm安装了NGINX入口控制器 我的入口位于默认命名空间中,我的监视位于监视命名空间中。 以下是我安装的图表版本。 我正在尝试获取一些NGINX指标,以便我可以在Grafana中进行监控。 然而,它们都没有出现在普罗米修斯用户界面中。我试着把普罗米修斯的旗帜添加到我所有的入口中,但仍然一无所获。例如 我使用了默认值。ngin

  • 我们有一个由几个节点组成的集群,所以我不能做节点端口,只需转到我的节点ip(这是我为测试普罗米修斯所做的)。我在“监控”名称空间中安装了stable/prometheus和stable/grafana。 到目前为止一切看起来都很好。 这是服务elb。yaml: 顺便说一句,如果我不使用--set rbac创建图表,那么在serviceaccount的权限方面会出现错误。创建=false 我最近为K

  • 我将我的GKE API服务器升级到1.6,并正在将节点升级到1.6,但遇到了一个障碍... 我有一个prometheus服务器(版本1.5.2),运行在一个由Kubernetes部署管理的pod中,其中两个节点运行版本1.5.4Kubelet,一个新节点运行版本1.6。 但普罗米修斯仍然得到401。 更新:就像乔丹所说的kubernetes认证问题。在这里看到新的、更集中的问题;https://s

  • 我在Kubernetes是个新手。我想知道在kubernetes环境中最好的生产部署场景是什么。 在过去的学派中,我习惯于将Web服务器(例如Nginx或Apache)放在DMZ层,而将其放在其他层(我们称之为层)。这样,只有web服务器在DMZ上,恶意攻击只能在web服务器VM上进行。 据我所知,K8S部署不再需要这种方法;这是因为K8S自己处理网络、吊舱和流量。所以我在考虑最确定的部署方案。

  • null 使用默认配置和轻微的定制。 我可以访问prometheus、grafana和alertmanager,查询度量标准并查看精美的图表。 但是prometheus-adapter在启动时不断抱怨它不能访问/发现度量: 在我的设置中,对于prometheus-adapter的正确值是什么?