数据监控-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.mzph.cn/news/652808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大厂AI课学习笔记】1.1.1人工智能导论

这个系列,之前是百度的学习笔记,后来他们网站打不开了,现在换为另一个大厂的。 第一节 人工智能导论 1.1 人工智能导论 1.1.1 人工智能概念的诞生 AI,Artificial Intelligence 1956年,美国达特茅斯会议提出。 定义…

2024/1/28 备战蓝桥杯 1-3

目录 特殊日期 0特殊日期 - 蓝桥云课 (lanqiao.cn) 最大距离 0最大距离 - 蓝桥云课 (lanqiao.cn) 最长递增 0最长递增 - 蓝桥云课 (lanqiao.cn) 缩位求和 0缩位求和 - 蓝桥云课 (lanqiao.cn) ISBN号码 0ISBN号码 - 蓝桥云课 (lanqiao.cn) 串的处理 0串的处理 - 蓝桥…

讯飞大模型定制训练平台尝鲜

文章目录 前言进入平台功能探索余额数据集管理 先训为快讯飞星火3.0Chinese-Aplaca-2-7BLlama2-7BInternLM-7BBloomz-7Bfalcon-7BBloomz-3B 前言 众所周知,国产大模型如千问、书生、易等等都有开源大模型,但是出场时效果就很不错的讯飞星火大模型却迟迟…

OpenHarmony关系型数据库

1 概述 关系型数据库(Relational Database, 以下简称RDB)是一种基于关系模型来管理数据的数据库,是在SQLite基础上提供一套完整的对本地数据库进行管理的机制,为开发者提供无需编写原生SQL语句即可实现数据增、删、改、查等接口,同时开发者也…

通讯录小项目(上)

Start And Stick 通讯录的实现有很多种方式,今天我们将用结构体实现简单的通讯录项目功能。包括通讯录的增、删、查、改等功能。 思路: 此次代码文件分别为: 文件名用途sqlist.h用于函数和结构体的声明sqlist.c用于函数的实现test.c用于通讯…

DevOps系列文章之 Git命令:过滤日志

使用git log命令查找特定提交历史的高级技巧。其中的一些技巧配合格式化日志命令使用有奇效。 按照数量过滤 使用git log命令时最基本的过滤方式就是按照可以显示的日志条数进行过滤。如果你只对最近几次提交感兴趣,这会节省在页面上查看所有提交的麻烦。 git lo…

Vue3在css中使用v-bind绑定js/ts变量,也可以在scss和less中使用方式

主要介绍Vue3中的新增的v-bind()的常用使用方式,主要包括在css,less,scss中的使用,可以参考官方文档查看:Vue3官方文档 特别提醒 如果你想在scss中或者less中使用,可能会报各种乱七八糟的错误,最快最好用的方式就是单…

RBD —— 不同材质破碎

目录 Working with concrete Chipping Details Proxy geometry Constraints Working with glass Chipping Proxy geometry Constraints Resolving issues with glass fracturing Working with wood Clustering Using custom cutters Working with concrete Concr…

【PostgreSQL OpenGauss 】数据库查询表锁,释放表锁

PostgreSQL & OpenGauss 数据库查询表锁,释放表锁 PostgreSQLOpenGauss 在数据库中,表锁是用于控制对表的并发访问的一种机制。不同的数据库系统(如 PostgreSQL 和 OpenGauss)可能具有不同的表锁管理机制。下面分别介绍如何在…

【RT-DETR有效改进】EfficientFormerV2移动设备优化的视觉网络(附对比试验效果图)

前言 大家好,我是Snu77,这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进,内容持续更新,每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本,同时修改内容也支持Re…

THM学习笔记——john

John the Ripper是目前最好的哈希破解工具之一。 John基本语法: john [options] [path to file] john:调用John the Ripper程序。 [path to file]:包含你要尝试破解的哈希的文件,如果它们在同一个目录中,你就不需要命名…

理解虚拟内存

虚拟内存管理 分页管理 将用户程序的地址空间分为若干个固定大小的区域,称为“页面”。典型的页面大小为 1KB。相应地,也将内存空间分为若干个物理块,页和块的大小相同。然后通过映射表,把连续的虚拟内存空间,映射到离…

C++: 内联函数

目录 概念: 与宏的对比: 函数膨胀: 内联函数的特性: 概念: 以inline修饰的函数叫做内联函数,编译时C编译器会在调用内联函数的地方展开,没有函数调 用建立栈帧的开销,内联函数…

【笔记】Helm-4 最佳实践-4 依赖

依赖 最佳实践的这部分阐述Chart.yaml中声明的dependencies。 版本 如果有可能的话,使用版本范围而不是某个固定的版本。建议的默认设置是使用补丁级别的版本的匹配: version: ~1.2.3 version: ~1.2.3 这样会匹配1.2.3以及该版本的任何补丁&#xff0…

Feign 体系架构解析

正所谓麻雀虽小五脏俱全,HTTP 调用看着简单,实则下面隐藏的是一套非常复杂的流程。 从上古时代 jspservlet,到后面的 SpringMVC,在 HTTP 请求解析和封装上同样是煞费苦心。 我们在学习中经常会碰到这种 case,有些开源…

阿里云一键部署搭建幻兽帕鲁联机服务器教程

幻兽帕鲁(Palworld)是一款多人在线游戏,为了获得更好的游戏体验,许多玩家会选择自行搭建游戏联机服务器,但是如何部署搭建幻兽帕鲁联机服务器成为一个难题,阿里云提供了一种高效且简便的一键部署方案&#…

qt初入门7:进度条,定时器,时间控件练习

参考课本demo,空闲时间练习一下进度条,定时器,日期相关控件和使用。 1:demo运行结果 2:进度条控件梳理 进度条显示控件实际上是QProgressBar, 显示的进度可以通过代码控制,也可以通过其他控件上获取到的值…

go语言文件操作

打开和关闭文件 os.Open()函数能够打开一个文件,返回一个*File和一个err。对得到的文件实例调用close()方法能够关闭文件。 package mainimport ("fmt""os" )func main() {// 只读方式打开当前目录下的main.go文件file, err : os.Open("…

学习PyQt5

1、布局之后,无法移动对象到指定区域,无法改变对象大小。 原因:因为CtrlA选中了整个窗口,然后布局的时候就相当于整个窗口都按照这种布局,如选了水平布局,按钮一直在中间,无法拖到其它位置。 …

Unity之动画和角色控制

目录 📕 一、动画 1.创建最简单的动画 2.动画控制器 📕二、把动画和角色控制相结合 📕三、实现实例 3.1 鼠标控制角色视角旋转 3.2 拖尾效果 📕四、混合动画 最近学到动画了,顺便把之前创建的地形&#xff0…