Kubernetes 监控与日志管理:从基础到实战
1. Prometheus 监控配置
在某些情况下,我们可能希望获取服务下单个 Pod 的指标,而非整个服务所有 Pod 的指标。由于大多数端点对象并非手动创建,端点发现模式会使用从服务继承的注解。这就导致当我们为服务添加注解时,该注解会同时在服务发现和端点发现模式中可见,使得我们难以区分是应该按端点还是按服务来抓取目标。
为解决这个问题,我们可以使用prometheus.io/scrape: "true"来表示要抓取的端点,使用另一个注解prometheus.io/scrape_service_only: "true"来告诉 Prometheus 为该服务创建一个确切的目标。
示例仓库中的prom-config-k8s.yml模板包含了一些用于 Prometheus 发现 Kubernetes 资源的基本配置。应用该模板的步骤如下:
$ kubectl apply -f prometheus/configs/prom-config-k8s.yml由于模板中的资源是一个 ConfigMap,它将数据存储在 etcd 共识存储中,因此需要几秒钟才能达到一致。之后,我们可以通过向进程发送 SIGHUP 信号来重新加载 Prometheus:
$ kubectl exec -n monitoring <prometheus_pod_na