k8s--基础--26.1--监控告警系统--prometheus--介绍

k8s–基础–26.1–监控告警系统–prometheus–介绍


1、前言

主要介绍k8s集群中部署prometheus,并且配置prometheus的动态、静态服务发现,实现监控容器、物理节点、service、pod等资源指标,配置prometheus的web ui界面、

2、简介

  1. Prometheus是一个开源的系统监控和报警系统
  2. Prometheus性能足够支撑上万台规模的集群
  3. 在kubernetes容器管理系统中,通常会搭配prometheus进行监控
  4. 支持多种exporter采集数据
  5. 支持pushgateway进行数据上报

3、特点

  1. 多维度数据模型
    1. 时间序列数据由metrics名称和键值对来组成
    2. 可以对数据进行聚合,切割等操作
    3. 所有的metrics都可以设置任意的多维标签。
  2. 灵活的查询语言(PromQL)
    1. 可以对采集的metrics指标进行加法,乘法,连接等操作;
  3. 可以直接在本地部署,不依赖其他分布式存储;
  4. 通过基于HTTP的pull方式采集时序数据;
  5. 可以通过中间网关pushgateway的方式把时间序列数据推送到prometheus server端;
  6. 可通过服务发现或者静态配置来发现目标服务对象(targets)。
  7. 有多种可视化图像界面,如Grafana等。
  8. 高效的存储
    1. 每个采样数据占3.5 bytes左右,采样间隔30s,数据保留60天
    2. 300万的时间序列,消耗磁盘大概200G。

4、prometheus组件介绍

4.1、Prometheus Server

用于收集和存储时间序列数据

4.2、Client Library

  1. 客户端库,检测应用程序代码
  2. 当Prometheus抓取实例的HTTP端点时,客户端库会将所有跟踪的metrics指标的当前状态发送到prometheus server端。

4.3、Exporters

prometheus支持多种exporter,通过exporter可以采集metrics数据,然后发送到prometheus server端。

4.4、Alertmanager

  1. 从 Prometheus server 端接收到 alerts 后,会进行去重,分组,并路由到相应的接收方,发出报警
  2. 常见的接收方式有:电子邮件,微信,钉钉, slack等。

4.5、Grafana

监控仪表盘

4.6、pushgateway

各个目标主机可上报数据到pushgatewy,然后prometheus server统一从pushgateway拉取数据。

5、prometheus架构图

在这里插入图片描述

5.1、Prometheus整个生态圈组成

  1. prometheus server
    1. Retrieval
    2. Storage
    3. PromQL
  2. Exporter
  3. pushgateway
  4. alertmanager
  5. grafana
  6. Web ui界面

5.2、Retrieval

负责在活跃的target主机上抓取监控指标数据

5.3、Storage

存储主要是把采集到的数据存储到磁盘中

5.4、PromQL

是Prometheus提供的查询语言模块。

6、prometheus工作流程

6.1、采集数据

  1. 方式1:Prometheus server可定期从活跃的(up)目标主机上(target)拉取监控指标数据,目标主机的监控数据可通过配置静态job或者服务发现的方式被prometheus server采集到。
  2. 方式2:可以通过pushgateway把采集的数据上报到prometheus server中
  3. 方式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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、prometheus简介 Prometheus是一个开源的系统监控告警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF维护管理的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控prometheus支持多种exporter采集数据,还支持通过pushgateway进行数据上报,Prometheus再性能上可支撑上万台规模的集群。 二、prometheus架构图 三、prometheus组件介绍 1.Prometheus Server: 用于收集和存储时间序列数据。 2.Client Library: 客户端库,检测应用程序代码,当Prometheus抓取实例的HTTP端点时,客户端库会将所有跟踪的metrics指标的当前状态发送到prometheus server端。 3.Exporters: prometheus支持多种exporter,通过exporter可以采集metrics数据,然后发送到prometheus server端 4.Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去重,分组,并路由到相应的接收方,发出报警,常见的接收方式有:电子邮件,微信,钉钉, slack等。 5.Grafana:监控仪表盘 6.pushgateway: 各个目标主机可上报数据到pushgatewy,然后prometheus server统一从pushgateway拉取数据。 四、课程亮点 五、效果图展示 六、讲师简介 先超(lucky):高级运维工程师、资深DevOps工程师,在互联网上市公司拥有多年一线运维经验,主导过亿级pv项目的架构设计和运维工作 主要研究方向: 1.云计算方向:容器 (kubernetesdocker),虚拟化(kvm、Vmware vSphere),微服务(istio),PaaS(openshift),IaaS(openstack)等2.系统/运维方向:linux系统下的常用组件(nginx,tomcat,elasticsearch,zookeeper,kafka等),DevOps(Jenkins+gitlab+sonarqube+nexus+k8s),CI/CD,监控(zabbix、prometheus、falcon)等 七、课程大纲

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值