Nginx入口 Controller 未提供Prometheus指标

标签 nginx kubernetes kubernetes-helm nginx-ingress prometheus-operator

我正在尝试部署一个可以使用prometheus进行监视的nginx入口 Controller ,但是我遇到了一个问题,似乎没有像我在网上找到的大多数帖子和文档一样创建任何指标pod。

我正在使用Helm部署入口 Controller ,并使用CLI争论来启用指标。

helm install ingress stable/nginx-ingress --set controller.metrics.enabled=true

这是我的入口文件
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    # add an annotation indicating the issuer to use.
    kubernetes.io/ingress.class: "nginx"
    cert-manager.io/cluster-issuer: "letsencrypt-dev"
    # needed to allow the front end to talk to the back end
    nginx.ingress.kubernetes.io/cors-allow-origin: "https://app.domain.com"
    nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
    nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/cors-allow-methods: "GET, PUT, POST, DELETE, PATCH, OPTIONS"
    # needed for monitoring
    prometheus.io/scrape: "true"
    prometheus.io/port: "10254"
  name: dev-ingress
  namespace: development
spec:
  rules:
  - host: api.<domain>.com
    http:
      paths:
      - backend:
          serviceName: api
          servicePort: 8090
        path: /
  tls: # < placing a host in the TLS config will indicate a certificate should be created
  - hosts:
    - api.<domai>.com
    secretName: dev-ingress-cert # < cert-manager will store the created certificate in this secre


如果这有所作为,我将在下面的命令中使用prometheus运算符 Helm chart 。
helm install monitoring stable/prometheus-operator --namespace=monitoring

所有 namespace 都已经存在,因此不应该成为问题,因为在很多地方看到的开发与监视 namespace 都是可以接受的,因此我着手进行操作,以使事情更容易弄清楚正在发生的事情。

最佳答案

我将按照guide设置对Nginx入口 Controller 的监视。我相信您缺少的是prometheus.yaml,它为Nginx入口 Controller 定义了scrape配置,为methodus定义了RBAC以便能够刮除Nginx入口 Controller 指标。

编辑:注释nginx入口 Controller 容器

kubectl annotate pods nginx-ingress-controller-pod prometheus.io/scrape=true -n ingress-nginx --overwrite

kubectl annotate pods nginx-ingress-controller-pod prometheus.io/port=10254  -n ingress-nginx --overwrite

关于Nginx入口 Controller 未提供Prometheus指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59602460/

相关文章:

kubernetes - Flink、Kubernetes 和 Linkerd

apache-spark - 如何将 HDFS(Hadoop 分布式文件系统)部署到 K8s(Kubernetes)集群?

redis - Kubernetes - 无法从同一集群上的另一个 pod 连接到 redis pod

bash - 如何覆盖 helm 值

python - UWSGI + NGINX 502 错误网关

ruby-on-rails - 如何确保 Rails 服务器运行

python - uwsgi+nginx 后面的 Django 无法设置 cookie

Docker - 为每个单独的我的服务容器单独的 nginx 容器

kubernetes - 从私有(private)注册表创建 Kubernetes pod

kubernetes - 使用 helm 设置多个 cronjob