0%

【Kubernetes】监控的可观测性

监控是大型分布式系统的重要基础设施,可以帮助开发者查看系统的运行状态。

监控指标

监控类型

  • 资源监控:监控CPU、内存、网络等资源的指标
  • 性能监控:APM(Application Performance Monitoring)监控
  • 安全监控:对越权管理、安全漏洞扫描等监控
  • 事件监控:对k8s中的事件监控

资源指标

对于kubernetes集群进行监控,主要可以分为两类:

  • 监控集群本身
  • 监控Pod对象

对于集群本身的监控主要包括:

  • 节点资源状态:主要包括网络带宽、磁盘空间、CPU和内存使用率
  • 节点的数量:即时性了解集群的可用节点数量可以为用户计算服务器使用的费用支出提供参考
  • 运行的Pod对象:正在运行的Pod对象数量可以评估可用节点数量是否足够,以及节点故障时是否能平衡负载。

对于Pod资源的监控主要分为以下三类:

  • Kubernetes指标:监测特定应用相关的Pod对象的部署过程、副本数量、状态信息、健康状态、网络使用等
  • 容器级指标:容器的Resource Request、Resource Limit、CPU、内存、磁盘空间、网络带宽的实际占用情况
  • 应用级指标:应用自身的内建指标,和业务规则相关

监控工具

数据采集

Docker Stats

cAdvisor

Heapster

Metrics Server

Kube-State-Metrics

Node-Exporter

Prometheus

Prometheus

展示与报警

Grafana

Kibana

Zabbix Dashboard

参考资料