Prometheus

Prometheus

[系统性能优化实践]JVM进阶实战之监控工具(Prometheus)
https://www.cnblogs.com/johnnyzen/p/17388354.html
ubuntu 22.04 配置 Prometheus 和 Grafana 服务器监控
https://blog.csdn.net/nvd11/article/details/128030197

Prometheus 是一个开源的监控系统,它可以在分布式环境中进行指标收集、聚合、查询和告警。

在 Prometheus 中,指标被称为 metrics。Prometheus 会定期从目标服务中抓取 metrics 数据,并将其存储在本地的时间序列数据库中。默认情况下,Prometheus 每隔 15 秒收集一次数据。

下面这个没有成功,具体原因不知道
Ubuntu20.04下部署linux资源监控平台(docker部署)grafana+prometheus+node_exporter(docker+离线包)
https://blog.csdn.net/deer_cui/article/details/134020816

https://prometheus.io/

注意:Prometheus服务默认需要3GB的内存代销。如果你的机器内存比较小, 你可以调整Prometheus服务使用更少的内存。

sudo lsb_release -r可以看到操作系统版本是20.04,sudo uname -r可以看到内核版本是5.5.19。

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

在这里插入图片描述

引言
zabbix是传统的监控系统,出现比云原生早,使用的是SQL关系型数据库;而Prometheus基于谷歌的borgemon使用go语言开发,使用TSDB数据库,所以支持云原生。zabbix最新发布的6.0版本,知道自己处于生死存亡时刻,也支持了Prometheus使用的TSDB数据库。

一、Prometheus 概述
1、什么是Prometheus
Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件Prometheus server会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据,当新拉取到的数据大于配置的内存缓存区时,数据就会持久化到存储设备当中。

1.每个被监控的主机都可以通过专用的exporter 程序提供输出监控数据的接口,它会在目标处收集监控数据,并暴露出一个HTTP接口供Prometheus server查询,Prometheus通过基于HTTP的pull的方式来周期性的采集数据。
2.任何被监控的目标都需要事先纳入到监控系统中才能进行时序数据采集、存储、告警和展示,监控目标可以通过配置信息以静态形式指定,也可以让Prometheus通过服务发现的机制进行动态管理。
3.Prometheus 能够直接把API Server作为服务发现系统使用,进而动态发现和监控集群中的所有可被监控的对象。

2、Zabbix和Prometheus区别
1.和Zabbix类似,Prometheus也是一个近年比较火的开源监控框架,和Zabbix不同之处在于Prometheus相对更灵活点,模块间比较解耦,比如告警模块、代理模块等等都可以选择性配置。服务端和客户端都是开箱即用,不需要进行安装。zabbix则是一套安装把所有东西都弄好,很庞大也很繁杂。
2.zabbix的客户端 agent 可以比较方便的通过脚本来读取机器内数据库、日志等文件来做上报。而 Prometheus 的上报客户端则分为不同语言的SDK和不同用途的 exporter 两种,比如如果你要监控机器状态、mysql性能等,有大量已经成熟的 exporter 来直接开箱使用,通过http 通信来对服务端提供信息上报(server去pull信息);而如果你想要监控自己的业务状态,那么针对各种语言都有官方或其他人写好的 sdk供你使用,都比较方便,不需要先把数据存入数据库或日志再供zabbix-agent采集。
3.zabbix的客户端更多是只做上报的事情,push模式。而Prometheus则是客户端本地也会存储监控数据,服务端定时来拉取想要的数据。
4.界面来说zabbix比较陈旧,而prometheus比较新且非常简洁,简洁到只能算一个测试和配置平台。要想获得良好的监控体验,搭配Grafana还是二者的必走之路。

3、Prometheus的特点
多维数据模型:由度量名称和键值对标识的时间序列数据
时序数据,是在一段时间内通过重复测量(measurement)而获得的观测值的集合;将这些观测值绘制于图形之上,它会有一个数据轴和一个时间轴;

服务器指标数据、应用程序性能监控数据、网络数据等也都是时序数据;

1.内置时间序列(pime series)数据库:Prometheus;外置的远端存储通常会用:InfluxDB、openTsDB等
2.promQL一种灵活的查询语言,可以利用多维数据完成复杂查询
3.基于HTTP的pull(拉取)方式采集时间序列数据
4.同时支持PushGateway组件收集数据
5.通过服务发现或者静态配置,来发现目标服务对象
6.支持作为数据源接入Grafana

二、运维监控平台设计思路
① 数据收集模块
② 数据提取模块(prometheus-TSDB,查询语言是promQL)
③ 监控告警模块(布尔值表达式判断是否需要告警,不成立是健康状态)

可以细化为6层

第六层:用户展示管理层 同一用户管理、集中监控、集中维护
第五层:告警事件生成层 实时记录告警事件、形成分析图表(趋势分析、可视化)
第四层:告警规则配置层 告警规则设置、告警伐值设置(定义布尔值表达式,筛选异常状态)
第三层:数据提取层 定时采集数据到监控模块
第二层:数据展示层 数据生成曲线图展示(对时序数据的动态展示)
第一层:数据收集层 多渠道监控数据(网络,硬件,应用,数据,物理环境)

三、Prometheus监控体系
1、系统层监控(需要监控的数据)
1.CPU、Load、Memory、swap、disk、I/O、process等
2.网络监控:网络设备、工作负载、网络延迟、丢包率等

2、中间件及基础设施类监控
1.消息中间件:kafka、RocketMQ、等消息代理(redis 中间件)
2.WEB服务容器:tomcat、weblogic、apache、php、spring系列
3.数据库/缓存数据库:Mysql、Postgresql、MongoDB、es、redis

1

sudo apt update
sudo apt upgrade
sudo apt install curl
curl https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo apt-get update
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead

ubuntu 22.04

sudo apt update
sudo apt-get install prometheus
Setting up prometheus (2.31.2+ds1-1ubuntu1.22.04.2) …
prometheus-node-exporter_1.3.1-1ubuntu0.22.04.2_amd64.deb
13-prometheus_2.31.2+ds1-1ubuntu1.22.04.2_amd64.deb

The following additional packages will be installed:
fonts-glyphicons-halflings javascript-common libio-pty-perl libipc-run-perl libjs-bootstrap libjs-bootstrap4 libjs-d3 libjs-eonasdan-bootstrap-datetimepicker
libjs-jquery libjs-jquery-hotkeys libjs-moment libjs-moment-timezone libjs-mustache libjs-popper.js libjs-rickshaw libjs-sizzle libtime-duration-perl moreutils
node-jquery prometheus-node-exporter prometheus-node-exporter-collectors smartmontools
Suggested packages:
apache2 | lighttpd | httpd gsmartcontrol smart-notifier mailx | mailutils
The following NEW packages will be installed:
fonts-glyphicons-halflings javascript-common libio-pty-perl libipc-run-perl libjs-bootstrap libjs-bootstrap4 libjs-d3 libjs-eonasdan-bootstrap-datetimepicker
libjs-jquery libjs-jquery-hotkeys libjs-moment libjs-moment-timezone libjs-mustache libjs-popper.js libjs-rickshaw libjs-sizzle libtime-duration-perl moreutils
node-jquery prometheus prometheus-node-exporter prometheus-node-exporter-collectors smartmontools

ubuntu 20.04

sudo apt-get install prometheus

The following additional packages will be installed:
fonts-glyphicons-halflings javascript-common libc-ares2 libio-pty-perl libipc-run-perl libjs-bootstrap libjs-bootstrap4 libjs-d3
libjs-eonasdan-bootstrap-datetimepicker libjs-jquery libjs-jquery-hotkeys libjs-moment libjs-moment-timezone libjs-mustache libjs-popper.js libjs-rickshaw
libnode64 libtime-duration-perl moreutils node-jquery nodejs nodejs-doc prometheus-node-exporter prometheus-node-exporter-collectors smartmontools
Suggested packages:
apache2 | lighttpd | httpd npm gsmartcontrol smart-notifier mailx | mailutils
The following NEW packages will be installed:
fonts-glyphicons-halflings javascript-common libc-ares2 libio-pty-perl libipc-run-perl libjs-bootstrap libjs-bootstrap4 libjs-d3
libjs-eonasdan-bootstrap-datetimepicker libjs-jquery libjs-jquery-hotkeys libjs-moment libjs-moment-timezone libjs-mustache libjs-popper.js libjs-rickshaw
libnode64 libtime-duration-perl moreutils node-jquery nodejs nodejs-doc prometheus prometheus-node-exporter prometheus-node-exporter-collectors smartmontools
0 upgraded, 26 newly installed, 0 to remove and 120 not upgraded.

/23-prometheus-node-exporter_0.18.1+ds-2ubuntu0.1_amd64.deb …
/13-prometheus_2.15.2+ds-2_amd64.deb …
grafana_10.2.2_amd64.deb

sudo apt install grafana -y
sudo apt-get install grafana-enterprise 有啥区别 ?

11

Grafana Version Package Repository
Grafana Enterprise grafana-enterprise https://apt.grafana.com stable main
Grafana Enterprise (Beta) grafana-enterprise https://apt.grafana.com beta main
Grafana OSS grafana https://apt.grafana.com stable main
Grafana OSS (Beta) grafana https://apt.grafana.com beta main

Grafana Enterprise is the recommended and default edition. It is available for free and includes all the features of the OSS edition. You can also upgrade to the full Enterprise feature set, which has support for Enterprise plugins.

sudo apt-get install -y apt-transport-https

sudo apt-get install -y software-properties-common wget

Ubuntu安装&启动&登录&更新Grafana

https://grafana.com/docs/grafana/latest/setup-grafana/installation/debian/
https://codeleading.com/article/42686476170/

https://www.mryunwei.com/243490.html

Grafana是一款能够提供查询、告警和可视化指标、日志、链路跟踪的软件,并且提供了TSDB时序数据库用于存储数据。
一共有3个版本,Grafana OSS(开源版),Grafana Enterprise(企业版),Grafana Cloud(云版)。
开源版为免费版本,升级企业版要重新安装;企业版包含开源版内容,并且可以升级到完整的企业版功能,是官方推荐安装的版本;云版提供免费的10K系列指标、50G大小日志、50G大小链路追踪功能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入理解网络 I/O:单 Group 混杂模式|多 Group 主从模式

🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任 Java 开发,CSDN 优质创作者 📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代 🌲文章所在专栏&…

Threejs漫天多彩粒子天空--粒子系统打造

一、导语 漫天多彩粒子天空特效应该也是Threejs项目中挺常见的一个需求,因为它是基于粒子系统,可以衍生出许多的不一样的方案,比如,星空特效,下雨特效,飘雪特效等等,不仅可以用在项目中增加氛围…

二叉搜索树的实现

本文旨在讲解如何编写一颗二叉搜索树,包括基本的增删查改的操作。 目录 一、二叉搜索树的概念 ​编辑二、二叉搜索树的编写 2.1节点的编写 2.2节点的插入 2.3节点的查找 2.4节点的删除 三、二叉搜索树的应用 四、 二叉搜索树的性能分析 五、完整代码 一、…

CD8+T细胞通过NKG2D-NKG2DL轴维持对MHC-I阴性肿瘤细胞的杀伤

今天给同学们分享一篇实验文章“CD8 T cells maintain killing of MHC-I-negative tumor cells through the NKG2D-NKG2DL axis”,这篇文章发表在Nat Cancer期刊上,影响因子为22.7。 结果解读: MHC-I阴性肿瘤的免疫疗法需要CD8 T细胞 作者先…

现代雷达车载应用——第2章 汽车雷达系统原理 2.2节 汽车雷达架构

经典著作,值得一读,英文原版下载链接【免费】ModernRadarforAutomotiveApplications资源-CSDN文库。 2.2 汽车雷达架构 从顶层来看,基本的汽车雷达由发射器,接收器和天线组成。图2.2给出了一种简化的单通道连续波雷达结构[2]。这…

什么是网络丢包以及如何解决

丢包的概念一直是网络行业争论的话题,在设计和实现网络时,它始终是考虑的关键因素,其重要性在于它对网络和网络系统的效率和整体性能的直接影响,即使是单个故障设备或配置错误的设置也会导致数据包丢失,也会严重影响整…

2 Mycat2 安装与启动

1、制作安装包 Mycat2不提供安装包,只提供核心JAR包,JAR包可以独立运行,安装包是使用Java Service Wrapper做壳的,如果需要安装包,需要自己制作。JAR可以作为Java库引入自己业务项目中使用Mycat2中的各个组件的设计都是可以独立使用的。 步骤如下: 1.…

【C++干货铺】继承后的多态 | 抽象类

个人主页点击直达:小白不是程序媛 C系列专栏:C干货铺 代码仓库:Gitee 目录 多态的概念 多态的定义和实现 多态的定义条件 虚函数 虚函数的重写 特殊情况 协变(基类和派生类的虚函数返回值不同) 析构函数的重…

ffmpeg踩坑之手动编译报错Unrecognized option ‘preset‘及rtsp/rtmp推流

本文解决的问题记录: 报错1:Unrecognized option preset. Error splitting the argument list: Option not found 报错2:ERROR: x264 not found using pkg-config 报错3:ffmpeg: error while loading shared libraries: libavd…

【linux】Debian不能运行sudo的解决

一、问题: sudo: 没有找到有效的 sudoers 资源,退出 sudo: 初始化审计插件 sudoers_audit 出错 二、可用的方法: 出现 "sudo: 没有找到有效的 sudoers 资源,退出" 和 "sudo: 初始化审计插件 sudoers_audit 出错&q…

spring面试:一、面试题分类总览+bean线程安全问题+AOP相关问题(定义、使用步骤、编程式事务管理和声明式事务管理和声明式事务管理失效)

面试题分类总览 bean线程安全问题 单例/多例 单例(singleton):在每个spring ioc容器中都只有一个实例。 多例(prototype):在每个spring ioc容器中有多个实例。 默认情况下spring中的bean都是单例的。但是…

基于Java SSM框架实现智能停车场系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现智能停车场系统演示 摘要 本论文主要论述了如何使用JAVA语言开发一个智能停车场管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述…

call 和 apply:改变对象行为的秘密武器(上)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

TSINGSEE视频智能解决方案边缘AI智能与后端智能分析的区别与应用

视频监控与AI人工智能的结合是当今社会安全领域的重要发展趋势。随着科技的不断进步,视频监控系统已经不再局限于简单的录像和监视功能,而是开始融入人工智能技术,实现更加智能化的监控和安全管理。传统的监控系统往往需要人工操作来进行监控…

内网渗透测试基础——Windows PowerShell篇

内网渗透测试基础——Windows PowerShell篇 1. Windows PowerShell基础 Windows PowerShell是一种命令行外壳程序和脚本环境,它内置在每个受支持的Windows版本中(Windows7、Windows Server 2008 R2及更高版本),为Windows命令行使…

讨好型人格最适合从事什么职业?

讨好型人格,其言行不是考虑个人,而是以满足对方为主,只要是他人的想法,都会尽力去满足,特别害怕自己做了什么事情,让对方产生不满的想法。遇到事情,也很难主动请求别人,总是依靠自己…

计算机组成原理-函数调用的汇编表示(call和ret指令 访问栈帧 切换栈帧 传递参数和返回值)

文章目录 call指令和ret指令高级语言的函数调用x86汇编语言的函数调用call ret指令小结其他问题 如何访问栈帧函数调用栈在内存中的位置标记栈帧范围:EBP ESP寄存器访问栈帧数据:push pop指令访问栈帧数据:mov指令小结 如何切换栈帧函数返回时…

APP安全测试填坑

在实习过程中,我接触到了一些SDL安全提测的工作。原来我是学web端渗透比较多的,移动端这块基本没怎么试过手,结果刚开始一直踩坑,连抓包都抓不到(T▽T)。 下面记录下我遇到的部分问题和解决方法&#xff0…

Python基础04-数据容器

零、文章目录 Python基础04-数据容器 1、了解字符串 &#xff08;1&#xff09;字符串的定义 字符串是 Python 中最常用的数据类型。我们一般使用引号来创建字符串。创建字符串很简单&#xff0c;只要为变量分配一个值即可。<class ‘str’>即为字符串类型。一对引号…

【C++干货铺】会搜索的二叉树(BSTree)

个人主页点击直达&#xff1a;小白不是程序媛 C系列专栏&#xff1a;C干货铺 代码仓库&#xff1a;Gitee 目录 前言&#xff1a; 二叉搜索树 二叉搜索树概念 二叉搜索树操作 二叉搜索树的查找 二叉搜索树的插入 二叉搜索树元素的删除 ​二叉搜索树的实现 BSTree结点 …