Prometheus:监控与告警:14: 与Kubernetes集成的方式

前面一篇文章中介绍了Prometheus动态服务发现配置的方式,比如基于文件的服务发现或者基于Consul的服务发现。这篇文章将继续对Kubernetes和Prometheus进行集成的常见方式进行概括的介绍。

集成方式

Kubernetes主要提供了如下5种服务发现模式和Prometheus进行集成:

  • Node
  • Pod
  • Endpoints
  • Service
  • Ingress

Node服务发现模式

        kubernetes_sd_configs:
        - role: node

Pod服务发现模式

        kubernetes_sd_configs:
        - role: pod

Endpoints服务发现模式

        kubernetes_sd_configs:
        - role: endpoints

Service服务发现模式

        kubernetes_sd_configs:
        - role: service

Ingress服务发现模式

        kubernetes_sd_configs:
        - role: ingress

黑盒监控 vs 白盒监控

依据是否清楚内部运行状态,可以将监控分为黑盒监控与白盒监控两种。黑盒监控不了解应用内部运行状态,同时也不依赖于基础框架的构成(比如传统方式的应用和容器化基础框架的构成不同),以最终用户的角度进行监控,在故障的快速发现方面有较好的效果。常见的HTTP探针方式或者Blackbox Exporter等都是黑盒监控的方式。
而白盒监控由于能够清楚内部运行状态,能够更好地发现根本问题所在,同时可以更加主动地进行预测分析等,但是基础框架的构成对于白盒监控的影响较大。比如Kubernetes所提供的Node或者Pod的方式都是白盒监控。
一个好的监控系统中往往包括黑盒监控和白盒监控,利用黑盒监控可以从用户的角度快速发现故障,而利用白盒监控能够清楚内部状态的特点进行更好地分析从而快速发现根本原因或者主动进行问题发生可能性的预测,二者结合能够起到较好的效果。

监控方法

监控对象 监控指标内容 服务发现模式 监控方式 数据来源
集群各节点Kubelet内置的cAdvisor 节点中运行的容器的监控指标 node 白盒 Kubelet
集群各节点Kubelet组件 各节点Kubelet的基本运行状态相关的监控指标 node 白盒监控 Kubelet
部署到各个节点的Node Exporter 主机资源相关的运行资源监控指标 node 白盒监控 Node Exporter
内置了Promthues支持的应用Pod实例 Pod实例中采集的自定义的监控指标 pod 白盒监控 自定义Pod
API Server组件的访问地址 获取的Kubernetes集群相关的运行监控指标 endpoints 白盒监控 Api Server
集群中Service的访问地址 通过Blackbox Exporter获取的监控指标 service 黑盒监控 Blackbox Exporter
集群中Ingress的访问地址 通过Blackbox Exporter获取监控指标 ingress 黑盒监控 Blackbox Exporter
发布了1039 篇原创文章 · 获赞 1291 · 访问量 398万+

猜你喜欢

转载自blog.csdn.net/liumiaocn/article/details/104115222
今日推荐