使用Prometheus全方位监控K8s
1、Prometheus架构

在这里插入图片描述

Prometheus Server:收集指标和存储时间序列数据,并提供查询接口

ClientLibrary:客户端库

Push Gateway:短期存储指标数据。主要用于临时性的任务

Exporters:采集已有的第三方服务监控指标并暴露metrics

Alertmanager:告警

Web UI :简单的web控制台

数据模型:数据存储为时间序列;具有相同度量名称以及标签属于同一个指标。

每个时间序列都由度量标准名称和**一组键值对(也成为标签)**唯一标识。

时间序列格式: {

作业和实例:

**实例:**可以抓取的目标称为实例(instances)

**作业:**具有相同目标的实例集合称为作业(Job)

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090','localhost:8081']
        labels:
          instance: prometheus
 
  - job_name: linux
    static_configs:
      - targets: ['192.168.91.132:9100']
        labels:
          instance: localhost
2、K8S监控指标及实现思路

K8S本身监控:

  • Node资源利用率

  • Node数量

  • Pods数量(Node)

  • 资源对象状态

Pod监控

  • Pod数量(项目)
  • Pod状态
  • 容器资源利用率
  • 应用程序

在这里插入图片描述

监控指标具体实现举例
Pod性能cAdvisor容器CPU,内存利用率
Node性能node-exporter节点CPU,内存利用率
K8S资源对象kube-state-metricsPod、Deployment、Service

服务发现参考:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config

3、在K8S上部署Prometheus

部署Prometheus前提:需要数据持久化存储(pv、pvc)

4、基于K8S服务发现的配置解析

待更新……

5、在K8S平台部署Granfana

待更新……

6、监控K8S集群中Pod、Node、资源对象

待更新……

7、使用Granfana可视化展示Prometheus监控数据

待更新……

8、告警利器AlertManager

待更新……

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐