欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

监控——Prometheus介绍

时间:2023-05-01

目录

一、常用的监控

二、Prometheus特性

三、运维监控平台设计思路

四、监控系统体系

1.系统层监控(需要监控的数据)

2.中间件及基础应用监控 端监控(移动app,特定程序等)

3.应用层监控

4.业务层监控

五、Prometheus生态组件

六、prometheus数据模型(什么是标签(标签值)、什么是指标、什么是样本)

指标类型


一、常用的监控

cactiNagiosZabbixPrometheusopen-Falcaon

二、Prometheus特性

多维的数据模型(基于时间序列的Key、 value键值对)

灵活的查询和聚合语言PromQL——类似于mysql的sql语句

提供本地存储和分布式存储

提供基于HTTP和HTTPS(七层)的Pull模型采集时间序列数据(pull数据的推送,时间序列:每段时间点的数据值指标,持续性的产生。横轴标识时间,纵轴为数据值,一段时间内数值的动态变化,所有的点连线形成大盘式的折线图)

可利用Pushgateway (Prometheus的可选中间件)实现Push模式(只会对脚本执行或者一次性/短周期执行的任务,使用push方式) 七层用pull,四层用push

可通过动态服务发现或静态配置发现目标机器(通过consul自动发现和收缩)

支持多种图表和数据大盘(测试时用) 可视化的图标和类型有多种

三、运维监控平台设计思路

1.数据收集模块

2.数据提取模块(prometheus-TSDB 查询语言是PromQL)

3.监控告警模块(布尔值表达式判断是否需要告警PromQL (CPU使用率)>80%)

细化为

第六层——用户展示管理层——同一用户管理、集中监控、集中维护

第五层——告警事件生成层——实时记录告警事件、形成分析图表(趋势分析、可视化)

第四层——告警规则配置层——告警规则设置、告警伐值设置(定义布尔值表达式,筛选异常状态)

第三层——数据提取层——定时采集数据到监控模块

第二层——数据展示层——数据生成曲线图展示(对时序数据的动态展示)

第一层——数据收集层——(多渠道监控数据)——(网络,硬件,应用,数据,物理环境)

四、监控系统体系

1.系统层监控(需要监控的数据)

2.中间件及基础应用监控 端监控(移动app,特定程序等)

3.应用层监控

三种途径从目标抓取(scrape)指标数据:

Exporters ——>工作在被监控端,周期性的抓取数据并转换为pro兼容格式等待prometheus来收集,自己并不推送

Instrumentation(内建的指标暴露器) ——>指被监控对象内部自身有数据收集、监控的功能,只需要prometheus直接去获取——docker

Pushgateway ——>短周期5s—10s的数据收集,或者不适合通过/使用7层暴露的指标数据

4.业务层监控

五、Prometheus生态组件

1.Prometheus Server:收集和储存时间序列数据 通过scraping以刮擦的方式去获取数据放入storge(TSDB时序数据库),制定Rules/alerts:告警规则,service discovery是自动发现需要监控的节点

2.Client Library:客户端库,目的在于为那些期望原生提供Instrumentation功能的应用程序提供便捷的开发途径;

3.Push Gateway:接收那些通常由短期作业生成的指标数据的网关,并支持由Prometheus Server进行指标拉取操作;

4.Exporters:用于暴露现有应用程序或服务(不支持Instrumentation)的指标给Prometheus Server而pro内建了数据样本采集器,可以通过配置文件定义,告诉prometheus到那个监控对象中采集指标数据,prometheus 采集过后,会存储在自己内建的TSDB数据库中,提供了promQL 支持查询和过滤操作,同时支持自定义规则来作为告警规则,持续分析一场指标,一旦发生,通知给alerter来发送告警信息,还支持对接外置的UI工具(grafana)来展示数据。采集、抓取数据是其自身的功能,但一般被抓去的数据一般来自于:export/instrumentation (指标数据暴露器) 来完成的,或者是应用程序自身内建的测量系统(汽车仪表盘之类的,测量、展示)来完成

5.alertmanager:由告警规则对接,从Prometheus Server接收到"告警通知"后,通过去重、分 组、路由等预处理功能后以高效向用户完成告警信息发送

6.Data Visualization(Dashboards): 与TSDB对接并且展示数据库中的数据,Prometheus web UI (Prometheus Server内建),及Grafana等;

7.Service Discovery:动态发现待监控的Target,从而完成监控配置的重要组件,在容器化环境中尤为有用;该组件目前由PropetheusServer内建支持

六、prometheus数据模型(什么是标签(标签值)、什么是指标、什么是样本)

什么是指标:能够产生监控数据的具体的对象。例如cpu使用率,内存空闲率是一个指标

什么是标签,什么是标签值:按照指标名称/对象,按照特定的条件精确过滤指标数据,标签和标签值

标签和标签值,是指标数据的筛选方式和筛选依据。

指标类型

默认都是以双精度浮点型数据(服务端无数据量类型数据)

① counter : 计数器单调递增② gauge:仪表盘:有起伏特征的③ histogram:直方图④ summary,摘要,histogram直方图的扩展类型

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。