基于 Prometheus 的监控平台简介

news2024/9/21 5:47:10

1. Prometheus 体系架构简介

在这里插入图片描述

Prometheus 是 CNCF 基金会的一款开源产品,主要用做监控系统,通常用来和 Zabbix 等监控系统做比较,以其简单易用、架构灵活著称。整个 Prometheus 的架构如上,分为几个重要的部分:

  • 指标收集端 - 上图左侧部分,可以类比为常用监控系统的 agent 侧,通常为被监控侧提供采集指标,以定期拉取的方式被 Server 端采集,有被监控系统自提供和 exporter 采集提供两种方式;也存在左上角 Pushgateway 方式主动推送的采集方式,不常用;
  • Prometheus server - 监控核心服务,主要提供定期抓取指标、时序数据存储、推送告警、提供查询服务 四种功能,默认情况下,监控数据存储于服务本地 15 天;
  • AlertManager - 告警服务,通过自定义的告警规则进行告警,提供多种告警方式,可以对接外部系统;
  • PromQL - 查询语法,该功能是 server 提供的,通过一些标准的数学计算方式,对外提供时序数据查询功能,可以对接 Grafana 做图形化展示,也可以直接通过 API 的方式对外提供服务;

在这里插入图片描述

这张图主要介绍了两种不同的采集方式,上面直接采集的方式很多数据库都可以提供,比如 OceanBase、Clickhouse 等;下面的方式是通过 Exporter 的方式进行采集,比如 Linux 操作系统指标、PG/MySQL/Redis/Mongo 等都有专门的 exporter;

在这里插入图片描述

这张图展示了数据抓取和数据展示的简单架构,增加了展示端支持的不同方式。

在这里插入图片描述

这张图引入了 Alertmanager,展示了所支持的一些不同告警方式。

2. Prometheus 能监控什么

基本所有的服务都能监控,下面放一张表简单介绍一下我们可能经常用到的功能:

在这里插入图片描述
在这里插入图片描述

基本上你能想到的服务,都能监控到,并且提供丰富的指标项目,可自行扩展。
下面主要看一下用来监控 Linux 操作系统用量的 node_exporter 能监控什么指标:

  • 系统运行时间
  • 总内存、总CPU数、磁盘总空间大小
  • CPU使用率、CPU 平均负载
  • 内存使用率
  • 磁盘 IOPS,磁盘读写速度
  • 磁盘可用空间、空间使用率
  • 每小时/分钟/秒 网卡上传/下载流量、网络 IO

下面放上三个参考图,其实真正能提供的图形化展示远比这要丰富,还是那句话,可以定制:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. Prometheus 如何部署使用

部署方式比较简单,均可采用 Linux/Windows 二进制程序方式部署,大部分都是 Golang 写的程序,不需要类似 JDK 的虚拟机。
通常直接将服务部署为系统开机自启动服务,exporter 通常部署在服务侧。

End~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/134933.html

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

相关文章

Kubernetes:Ingress

文章目录1、安装 Ingress 控制器2、Ingress 扇出3、基于名称的虚拟托管4、Ingress TLSIngress 是一组路由规则,公开从集群外部到集群内服务的 HTTP 和 HTTPS 路由。 Ingress 控制器是一组 pod,负责通过负载均衡器来解析 Ingress 路由规则,将请…

序列到序列学习(seq2seq,BLEU)

根据“编码器-解码器”架构的设计, 我们可以使用两个循环神经网络来设计一个序列到序列学习的模型。 在实现编码器和解码器时,我们可以使用多层循环神经网络。 我们可以使用遮蔽来过滤不相关的计算,例如在计算损失时。 在“编码器&#xf…

crackme01——Acid_burn

最近对逆向稍微有点兴趣,自学了一点。写这个文章主要用于记录学习的过程。 首先看一下这个程序,其实就是个简单的比对程序,主界面按左侧按钮进入Name Serial界面,点击【Check it Baby】,则弹出窗口【Sorry, The seria…

[Java]JDBC学习笔记(尚硅谷康师傅JDBC)

文章目录🥽 视频链接及资源下载🥽 JDBC简介🥽 JDBC程序访问数据库步骤🥽 获取数据库连接🌊 导入jar包🌊 Driver 接口🌊 JDBC URL🌊 方式1:🌊 方式2&#xff1…

educoder数据结构与算法 线性表 第2关:实现一个链接存储的线性表

本文已收录于专栏 🌲《educoder数据结构与算法_大耳朵宋宋的博客-CSDN博客》🌲 目录 本文已收录于专栏 🌲《educoder数据结构与算法_大耳朵宋宋的博客-CSDN博客》🌲 🍐任务描述🍐 🍐相关知识…

Java基础学习笔记(九)—— 常用API(2)

常用API1 Math类2 system类3 Object类3.1 概述3.2 常用方法3.3 常见面试题4 Objects类5 BigDecimal类5.1 构造方法5.2 常用方法6 时间日期类6.1 Date类6.2 SimpleDateFormat类6.3 JDK8新增日期类1 Math类 Math 包含执行基本数字运算的方法 Math中方法的调用方式:M…

Markdown 使用语法(详细)

想要学习Markdown,这篇文章就够了。 Markdow简介 Markdown 是一种轻量级标记语言,创始人为约翰格鲁伯(John Gruber)。 它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML&…

IEEE期刊投稿流程

一、注册过程 1.1、确定期刊。 首先可以通过IEEE搜索需要投稿的期刊(以TMC为例),然后点击Submit Manuscript ,进入ScholarOne主页 1.2、账号注册。 进入到ScholarOne之后,若没有注册过需要先注册一个账号。 1.3、创建账户。 点击Create an Account&a…

【LeetCode每日一题】【2023/1/2】1801. 积压订单中的订单总数

文章目录1801. 积压订单中的订单总数方法1:模拟优先队列part1priority_queue的使用part2求余代码1801. 积压订单中的订单总数 LeetCode: 1801. 积压订单中的订单总数 中等\color{#FFB800}{中等}中等 给你一个二维整数数组 orders ,其中每个 orders[i] …

基于springboot+Vue学生宿舍管理系统(程序+数据库+文档+代码解读)

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…

使用Cramer-Rao和Athley边界分析到达角阵列的质量(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 此代码用于使用Cramer-Rao和Athley边界分析到达角阵列的质量。 📚2 运行结果 🎉3 参考文献 [1]王凯欣…

感谢、感恩与CSDN结缘的第1498天

导读:2023年1月1日,这是本人加入CSDN的1498天,还记得2018-11-26是注册加入CSDN的第一天,当时的初心就是单纯想作为一名普通的IT人,随着不断打拼职场岁月流逝,总想沉淀留下点东西,即使再平凡也总…

【数据集8】全球人口数据WorldPop详解

全球人口数据WorldPop WorldPop是由南安普顿大学在2013年10月发起的全球人口数据评估。与LandScan数据相比,这个数据涵盖的数据集的社会经济属性更多一些,比如包括了年龄性别结构、出生率、人口流动、航班联系等数据,可参见下图。 官网地址-…

网络信息安全-图像隐写与检测综述

任务目标: 本选题需要学习经典的图像信息隐藏算法,包括基于空域的隐写算法和数字水印算法。 接着你将使用某种编程语言实现这些算法,实现在图片中嵌入一些信息,例如字符串和一些 文件。除此之外,还需要尝试一些基础的…

MySQL8--通过角色管理权限

原文网址:MySQL8--通过角色管理权限_IT利刃出鞘的博客-CSDN博客 简介 本文介绍MySQL8如何通过角色管理权限。 角色是在MySQL8.0中引入的新功能。在MySQL中,角色是权限的集合,可以为角色添加或移除权限。用户可以被赋予角色,同时也…

洛普兰机械密封盛装亮相2023第11届济南生物发酵展

洛普兰机械密封与您相约2023第11届济南生物发酵展览会,3月30-4月1号山东国际会展中心,诚邀参会! 展位号:3号馆H32 2023生物发酵展将于3月30号山东国际会展中心(济南市槐荫区日照路1号)盛大召开&#xff0…

Spring(四):Bean作用域和生命周期

目录一、Bean作用域作用域1.1 Bean作用域简介1.2 作用域的定义1.3 Bean的6种作用域1.4 设置作用域二、Spring的执行流程和Bean的生命周期2.1 Spring的执行流程2.2 Bean的生命周期一、Bean作用域作用域 1.1 Bean作用域简介 现在有一个公共的Bean,A用户先使用到这个…

统计学中的Bootstrap方法(Bootstrap抽样)用来训练bagging算法,如果随机森林Random Forests

统计学中的Bootstrap方法(Bootstrap抽样)用来训练bagging算法,如果随机森林Random Forests 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对…

Java与Python常见语法对比及区别

这里写目录标题一、前记1.1为什么写这篇文章?1.2 本文的结构二、整体区别2.1 差异总结十句话2.2整体对比三、细节区别3.1数据类型3.2其他数据结构3.3 String的处理方法3.4数组3.5条件语句3.6循环语句3.7类和接口定义与调用四 其他技巧知识字节的换算Tips&#xff1a…

flutter项目编译问题汇总

1、kotlin compiler embeddable下载慢的解决办法 备注:可以使用https://developer.aliyun.com/mvn/search这个链接搜索并下载 2、运行Flutter项目一直卡在--Running Gradle task assembleDebug 解决方法: 第一步:修改flutter安装目录/pac…