当前位置: 首页 > news >正文

数据监控-Prometheus/Grafana

一、数据监控Prometheus

1、什么是Prometheus

    Prometheus是由SoundCloud开源监控告警解决方案,从2012年开始编写代码,到2015年github上开源以来,吸引不少用户以及公司的使用。Prometheus作为新一代的开源解决方案,很多理念与Google SRE的运维之道不谋而合。

2、Prometheus特点

1.Prometheus是按照Google SRE运维之道的理念构建的,具有实用性和前瞻性的特点。
2.Prometheus一直在优化和巩固
3.Prometheus基于Go语言,性能不错,安装和部署简单,可以实现多平台部署的兼容性。
4.丰富的数据收集客户端,而且官方提供了各种常用的exporter
5.丰富强大的查询能力

3、Prometheus主要功能

1.多维数据模型
2.灵活的查询语句
3.无以来存储,支持local和remote不同类型
4.次啊用http,使用pull(拉)模式,简单移动
5.监控目标,可以采用服务发现或静态配置的方式。
6.支持多种统计数据模型,图形化友好

4、Prometheus基础架构

5、工作流程

指标采集:Prometheus server通过pull形式采集监控指标,可以直接拉取监控指标,也可以通过pushgateway作为中间环节,监控目标首先通过push操作将数据上传到pushgateway。
指标处理:Prometheus server 将次啊及到的数据存储在自身的DB或者第三方的DB上。
指标展示:Prometheus server 通过提供HTTP接口,提供自带或者第三方展示系统,例如Grafana。
指标警告:Prometheus server 通过push告警信息到AlertManager,AlertManager通过静默-抑制-整合-下发这四个阶段处理后通知观察者结果。

支持多种exporter 采集指标数据,还支持 PushGateway 进行数据上报。Prometheus性能足够支撑上万台规模的集群。


6、组件

  • PushGateway(推送网关)

可选,作为数据采集的中间系统,监控目标可以先通过push将数据上传到PushGateway,然后Prometheus server再通过pull的方式将数据采集到

  • Prometheus Server

Prometheus服务器的实例

  • Grafana

可选,这里建议使用,这是第三方的展示工具,可以编写Prom QL的查询语句,通过HTTP协议与Prometheus集成

  • Alter Manager

prometheus的Alerting模块,负责接收告警,例如Prometheus server发送的警告信息,并且通过提供静默-抑制-整合-下发等操作。

7、重点组件介绍

7.1 pushgateway

  • 拓扑图

监控目标通过脚本或者其他的程序push日志到pushgateway中,prometheus通过pull的方式拉取pushgateway的日志

  • pushgateway的重要性

因为Prometheus是以pull的形式采集监控的指标,这样的话就会存在两个这样的问题:

1、每次新增监控目标就需要修改Prometheus的配置

2、如果监控目标所在网络和Prometheus所在网络不通,就无法通过Prometheus的pull形式采集指标

  • Prometheus的缺点

1.pushgateway存在单点问题,如果pushgateway出现故障,所有监控目标都将失败。当然也可以借助LSB来解决单点问题

2.丢失Prometheus对实例健康状态的检查功能

3.取消监控一个服务,需要手动删除pushgateway上对应的持久化数据

  • 单点故障

这里的pushgateway就是进程中的一个单点,这个点如果出现问题的话,就会引起单点问题。

  • API

所有的监控指标的push都通过HTTP接口

7.2 Alert Manager

  • 分组

将警告信息分组,方便应用于当大量报警信息涌入时的通知

  • 静默

安装一定的规则,在一定时间内不进行通知下发,在达到一定的阈值之后,统一下发

  • 抑制

一个告警信息被另一个告警信息抑制后,另一种告警发送之后,该告警不再发送

prometheus正应用于离线数仓中采集监控功能,通过与gra

http://www.lryc.cn/news/289334.html

相关文章:

  • Compose | UI组件(三) | TextField() 输入框组件
  • 组件冲突、data函数、组件通信
  • 【C++杂货铺】详解类和对象 [上]
  • Linux 驱动开发基础知识—— 驱动设计的思想(六)
  • Mybatis-Plus入门
  • MODNet 剪枝再思考: 优化计算量的实验历程分享
  • Flink多流转换(1)—— 分流合流
  • CSS高级技巧导读
  • Redis数据类型-string
  • 【HDFS】一天一个RPC系列--updatePipeline
  • CentOS 7 上使用 wget 安装 Nginx 并设置开机自启
  • Android源码设计模式解析与实战第2版笔记(一)
  • HTML+JavaScript-06
  • 单元测试——题目十二
  • 详解:大数据信用报告信用等级怎么看?
  • rsync命令常用参数详解
  • 基于SpringBoot实现策略模式提供系统接口扩展能力
  • v43-47.problems
  • 华为HCIP Datacom H12-831 卷14
  • 《vtk9 book》 官方web版 第3章 - 计算机图形基础 (1 / 6)
  • 负载均衡是什么,负载均衡有什么作用
  • Leetcode 3020. Find the Maximum Number of Elements in Subset
  • 【Vue2 + ElementUI】更改el-select的自带的下拉图标为倒三角,并设置相关文字颜色和大小
  • TensorFlow2实战-系列教程5:猫狗识别任务数据增强实例
  • Unity中URP下额外灯角度衰减
  • BKP备份寄存器、RTC实时时钟
  • k8s 进阶实战笔记 | Scheduler 调度策略总结
  • 微服务-微服务Spring-cloud-open-feign
  • 分类预测 | Matlab实现DT决策树多特征分类预测
  • 随机点名--好玩哦