使用 Prometheus Stack 监控 Ingress-nginx-Controller

前置条件

K8S 集群已经安装 Ingress-nginx-Controller

参考文档:使用Helm安装Ingress-nginx-Controller

修改 Chart 的 values文件

# nginx/values.yaml
controller:
  metrics:
    enabled: true
    serviceMonitor:
      enabled: true
      additionalLabels:
        release: prometheus  # 去匹配prometheus-kube-state-metrics 他的标签      

更新 ingress-nginx

# 在 nginx/values.yaml 所在目录下执行
$ cd /apps/helm_chart/ingress-nginx
$ helm upgrade ingress-nginx -f values.yaml -n ingress-nginx .

查看资源组件

$ kubectl get all -n ingress-nginx
NAME                                 READY   STATUS    RESTARTS   AGE
pod/ingress-nginx-controller-4vsjv   1/1     Running   0          16m

NAME                                         TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)                      AGE
service/ingress-nginx-controller             LoadBalancer   10.68.161.74   192.168.1.91   80:30850/TCP,443:30443/TCP   7d5h
service/ingress-nginx-controller-admission   ClusterIP      10.68.35.19    <none>         443/TCP                      7d5h
service/ingress-nginx-controller-metrics     ClusterIP      10.68.29.207   <none>         10254/TCP                    16m

NAME                                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                         AGE
daemonset.apps/ingress-nginx-controller   1         1         1       1            1           ingress=true,kubernetes.io/os=linux   7d5h

访问 /metrics 接口确认是否有数据

$ curl  10.68.29.207:10254/metrics
...
# TYPE promhttp_metric_handler_requests_total counter
promhttp_metric_handler_requests_total{code="200"} 36
promhttp_metric_handler_requests_total{code="500"} 0
promhttp_metric_handler_requests_total{code="503"} 0

导入 Grafana模板

点击左侧 Dashboard 模块,选择 Import 导入面板。

然后在 Import via grafana.com 中输入 9614,点击 Load,选择 prometheus 数据源,点击 Import 即可。


使用 Prometheus Stack 监控 Ingress-nginx-Controller
http://www.qiqios.cn/2024/03/13/2024-3-13-使用-Prometheus-Stack-监控-Ingress-nginx-controller/
作者
一亩三分地
发布于
2024年3月13日
许可协议