k8s--基础--26.1--监控告警系统--prometheus--介绍
主要介绍k8s集群中部署prometheus,并且配置prometheus的动态、静态服务发现,实现监控容器、物理节点、service、pod等资源指标,配置prometheus的web ui界面、用于收集和存储时间序列数据prometheus支持多种exporter,通过exporter可以采集metrics数据,然后发送到prometheus server端。监控仪表盘各个目标主机可上报数据到
k8s–基础–26.1–监控告警系统–prometheus–介绍
1、前言
主要介绍k8s集群中部署prometheus,并且配置prometheus的动态、静态服务发现,实现监控容器、物理节点、service、pod等资源指标,配置prometheus的web ui界面、
2、简介
- Prometheus是一个开源的系统监控和报警系统
- Prometheus性能足够支撑上万台规模的集群
- 在kubernetes容器管理系统中,通常会搭配prometheus进行监控
- 支持多种exporter采集数据
- 支持pushgateway进行数据上报
3、特点
- 多维度数据模型
- 时间序列数据由metrics名称和键值对来组成
- 可以对数据进行聚合,切割等操作
- 所有的metrics都可以设置任意的多维标签。
- 灵活的查询语言(PromQL)
- 可以对采集的metrics指标进行加法,乘法,连接等操作;
- 可以直接在本地部署,不依赖其他分布式存储;
- 通过基于HTTP的pull方式采集时序数据;
- 可以通过中间网关pushgateway的方式把时间序列数据推送到prometheus server端;
- 可通过服务发现或者静态配置来发现目标服务对象(targets)。
- 有多种可视化图像界面,如Grafana等。
- 高效的存储
- 每个采样数据占3.5 bytes左右,采样间隔30s,数据保留60天
- 300万的时间序列,消耗磁盘大概200G。
4、prometheus组件介绍
4.1、Prometheus Server
用于收集和存储时间序列数据
4.2、Client Library
- 客户端库,检测应用程序代码
- 当Prometheus抓取实例的HTTP端点时,客户端库会将所有跟踪的metrics指标的当前状态发送到prometheus server端。
4.3、Exporters
prometheus支持多种exporter,通过exporter可以采集metrics数据,然后发送到prometheus server端。
4.4、Alertmanager
- 从 Prometheus server 端接收到 alerts 后,会进行去重,分组,并路由到相应的接收方,发出报警
- 常见的接收方式有:电子邮件,微信,钉钉, slack等。
4.5、Grafana
监控仪表盘
4.6、pushgateway
各个目标主机可上报数据到pushgatewy,然后prometheus server统一从pushgateway拉取数据。
5、prometheus架构图
5.1、Prometheus整个生态圈组成
- prometheus server
- Retrieval
- Storage
- PromQL
- Exporter
- pushgateway
- alertmanager
- grafana
- Web ui界面
5.2、Retrieval
负责在活跃的target主机上抓取监控指标数据
5.3、Storage
存储主要是把采集到的数据存储到磁盘中
5.4、PromQL
是Prometheus提供的查询语言模块。
6、prometheus工作流程
6.1、采集数据
- 方式1:Prometheus server可定期从活跃的(up)目标主机上(target)拉取监控指标数据,目标主机的监控数据可通过配置静态job或者服务发现的方式被prometheus server采集到。
- 方式2:可以通过pushgateway把采集的数据上报到prometheus server中
- 方式3:可以通过一些组件自带的exporter采集相应组件的数据;
6.2、持久化采集的数据
Prometheus server把采集到的监控指标数据保存到本地磁盘或者数据库;
6.3、发送报警的数据到alertmanager
Prometheus采集的监控指标数据按时间序列存储,通过配置报警规则,把触发的报警发送到alertmanager
6.4、alertmanager 将报警内容发送给客户
Alertmanager通过配置报警接收方,发送报警到邮件,微信或者钉钉等
6.5、查询监控数据
Prometheus 自带的web ui界面提供PromQL查询语言,可查询监控数据
6.6、图形化展示监控数据
Grafana可接入prometheus数据源,把监控数据以图形化形式展示出
更多推荐
所有评论(0)