背景:
traefik 搭建形式如下:
https://www.yuque.com/duiniwukenaihe/ehb02i/odflm7。
Prometheus-oprator 搭建形式如下:
https://www.yuque.com/duiniwukenaihe/ehb02i/tm6vl7。
Prometheus 的文档写了 grafana 增加了 traefik 的监控模板。然而当初认真一看。traefik 的监控图是空的,Prometheus 的 target 也没有对应 traefik 的监控。
当初配置下增加 traefik 服务发现以及验证一下 grafana 的图表。
1. Prometheus Operator 监控 Traefik V2.4
1.1. Traefik 配置文件设置 Prometheus
参照 https://www.yuque.com/duiniwukenaihe/ehb02i/odflm7。配置中默认开启了默认的 Prometheus 监控。
https://doc.traefik.io/traefik/observability/metrics/prometheus/ 可参照 traefik 官网文档。
1.2、Traefik Service 设置标签
1.2.1 查看 traefik service
$ kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
cilium-agent ClusterIP None <none> 9095/TCP 15d
etcd-k8s ClusterIP None <none> 2379/TCP 8d
hubble-metrics ClusterIP None <none> 9091/TCP 15d
hubble-relay ClusterIP 172.254.38.50 <none> 80/TCP 15d
hubble-ui ClusterIP 172.254.11.239 <none> 80/TCP 15d
kube-controller-manager ClusterIP None <none> 10257/TCP 8d
kube-controller-manager-svc ClusterIP None <none> 10252/TCP 6d
kube-dns ClusterIP 172.254.0.10 <none> 53/UDP,53/TCP,9153/TCP 15d
kube-scheduler ClusterIP None <none> 10259/TCP 8d
kube-scheduler-svc ClusterIP None <none> 10251/TCP 6d
kubelet ClusterIP None <none> 10250/TCP,10255/TCP,4194/TCP 8d
traefik ClusterIP 172.254.12.88 <none> 80/TCP,443/TCP,8080/TCP 11d
1.2.2、编辑该 Service 设置 Label
kubectl edit service traefik -n kube-system
设置 Label“app: traefik”
参照的是 traefik-deploy.yaml 中的 app:traefik 这个标签用了,当然了也能够本人定义下用下别的 ……
1.3、Prometheus Operator 配置监控规定
traefik-service-monitoring.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: traefik
namespace: monitoring
labels:
app: traefik
spec:
jobLabel: traefik-metrics
selector:
matchLabels:
app: traefik
namespaceSelector:
matchNames:
- kube-system
endpoints:
- port: admin
path: /metrics
创立该 Service Monitor
$ kubectl apply -f traefik-monitor.yaml
1.4、查看 Prometheus target 规定是否失效
1.5 查看 grafana 中的 traefik 仪表盘是否有数据生成图表
嗯 这也算是增加 target 的一个例子。下次写下配置下主动发现规定?