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

库伯内特斯-普罗米修斯遗漏了所有NGINX入口指标?

家经纶
2023-03-14

我有一个DigitalOcean Kubernetes集群。我已经通过Helm安装了NGINX入口控制器

我的入口位于默认命名空间中,我的监视位于监视命名空间中。

以下是我安装的图表版本。

❯ helm list
NAME            REVISION    UPDATED                     STATUS      CHART                   APP VERSION NAMESPACE
grafana         1           Mon Oct  7 08:04:15 2019    DEPLOYED    grafana-3.8.18          6.3.5       monitoring
metrics-server  1           Thu Aug 29 09:07:21 2019    DEPLOYED    metrics-server-2.8.2    0.3.2       kube-system
nginx-ingress   1           Wed Aug 21 21:32:06 2019    DEPLOYED    nginx-ingress-1.17.1    0.25.1      default
prometheus      1           Mon Oct  7 09:24:21 2019    DEPLOYED    prometheus-9.1.2        2.11.1      monitoring

我正在尝试获取一些NGINX指标,以便我可以在Grafana中进行监控。

然而,它们都没有出现在普罗米修斯用户界面中。我试着把普罗米修斯的旗帜添加到我所有的入口中,但仍然一无所获。例如

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ****-ingress
  namespace: monitoring
  annotations:
    kubernetes.io/ingress.class: nginx
    enable-vts-status: "true"
    prometheus.io/scrape: "true"
    prometheus.io/port: "10254"

我使用了默认值。nginx控制器的yaml文件,但我确实更改了以启用指标:

  metrics:
    enabled: true

据我所知,它应该是现成的。所以我不知道出了什么问题。

有一件事看起来确实可疑,那就是服务发现似乎没有监控任何服务,但我从未使用过普罗米修斯,我在寻找什么方面已经走到了死胡同。

谢谢你

共有3个答案

淳于泓
2023-03-14

我认为您也可以使用在其他命名空间中找到您的选择器并让它们活跃起来。我遇到了与您相同的nginx入口问题(相同的端口等)。我不确定哪些是关键行,所以我添加了它们,但它让我的行活跃起来,我认为这更能证明未来。

  values:
    prometheus:
      prometheusSpec:
        # Use all prometheus rules on the cluster
        ruleNamespaceSelector:
          any: true
        ruleSelectorNilUsesHelmValues: false

        # Use all service monitors on the cluster
        serviceMonitorNamespaceSelector:
          any: true
        serviceMonitorSelectorNilUsesHelmValues: false

阙佐
2023-03-14

看起来您从头开始部署了Prometheus。Nginx入口指标仅在您通过prometheus运算符部署Prometheus时才有效。

邓俊材
2023-03-14

我最终到达了那里。我必须创建一个prometheus作业,以监视NGINX Metrics服务器。我想,我的设置与所有在线示例之间的区别(即使我使用相同的helm图表)是我有一个单独的NGINX指标服务,在不同的端口上运行。所以OOB Prometheus没有配置为检查它。

- job_name: nginx-ingress
      metrics_path: /metrics
      scrape_interval: 5s
      static_configs:
        - targets:
          - nginx-ingress-controller-metrics:9913

将其添加到普罗米修斯配置图中,并重新加载配置。

 类似资料:
  • 我的kubernetes部署中有一个多容器吊舱: java redis nginx 对于每一个集装箱,普罗米修斯出口商也有一个集装箱。 问题是,如果annotations部分只支持每个pod一个端口,我如何向Prometheus公开这些端口? 但是我需要这样的东西: 也许还有其他方法可以从我的多容器pod中获取所有指标?提前感谢您的帮助。

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

  • 我要监控的应用程序为健康检查提供了一个apiendpoint,该endpoint使用json中的指标进行响应。例如: 我已经设置了Prometheus blackbox\u exporter,以监视此endpoint是否返回200 Ok,但理想情况下,我也希望获得这些指标。我知道instrumentation直接从应用程序导出这些数据。但是,由于应用程序已经在导出json对象中我想要的内容,我更希

  • 我的公司有一个伪造的CA证书。实例com和一张伪造地图的唱片。实例com连接到我们的负载平衡器的IP 负载平衡器正在将流量转发到我们的Kubernetes群集。 在集群中,我部署了nginx ingress helm图表,在30200处公开了https节点端口 我根据上述证书创建了一个名为test secret的k8s TLS机密。 我部署了一个带有服务“test”的应用程序,并安装了以下入口:

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

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