Prometheus监控系统
1|0普罗米修斯概述
Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库
的组合。适合监控docker容器
。因为kubernetes(俗称k8s)
的流行带动了prometheus的发展。
2|0时间序列数据
2|1什么是序列数据
时间序列数据
(TimeSeries Data) : 按照时间顺序记录系统、设备状态变化的数据被称为时序数据。
应用的场景很多, 如:
- 无人驾驶车辆运行中要记录的经度,纬度,速度,方向,旁边物体的距离等等。每时每刻都要将数据记录下来做分析。
- 某一个地区的各车辆的行驶轨迹数据
- 传统证券行业实时交易数据
- 实时运维监控数据等
2|2时间序列数据特点
- 性能好
关系型数据库对于大规模数据的处理性能糟糕。NOSQL可以比较好的处理大规模数据,让依然比不上时间序列数据库。
- 存储成本低
高效的压缩算法,节省存储空间,有效降低IO
Prometheus有着非常高效的时间序列数据存储方法,每个采样数据仅仅占用3.5byte左右空间,上百万条时间序列,30秒间隔,保留60天,大概花了200多G(来自官方数据)
2|3Prometheus的主要特征
- 多维度数据模型
- 灵活的查询语言
- 不依赖分布式存储,单个服务器节点是自主的
- 以HTTP方式,通过pull模型拉去时间序列数据
- 也可以通过中间网关支持push模型
- 通过服务发现或者静态配置,来发现目标服务对象
- 支持多种多样的图表和界面展示
2|4原理架构图
3|0环境准备
三台机器,被监控服务器、Prometheus服务器、grafana服务器
1.能上外网
2.主机名
3.时间同步
4.关闭防火墙,selinux
3|1安装prometheus
第一步:从 https://prometheus.io/download/ 下载相应版本,上传到服务器上
第二步:官网提供的是二进制版,解压就能用,不需要编译
第三步:启动普罗米修斯
第四步:测试端口占用情况(判断是否真正的启动了)
3|2prometheus界面
通过浏览器访问http://服务器IP:9090
就可以访问到prometheus的主界面
默认只监控了本机一台,点Status --》点Targets --》可以看到只监控了本机
3|3主机数据展示
通过http://服务器IP:9090/metrics
可以查看到监控的数据
3|4监控远程Linux主机
在远程linux主机(被监控端agent1)上安装node_exporter组件
下载地址: https://prometheus.io/download/
通过浏览器访问http://被监控端IP:9100/metrics
就可以查看到node_exporter
在被监控端收集的监控信息
回到prometheus服务器的配置文件里添加被监控机器的配置段
3|5监控远程MySQL
在被管理机agent1上安装mysqld_exporter组件
下载地址: https://prometheus.io/download/
回到prometheus服务器的配置文件里添加被监控的mariadb的配置段
4|0Grafana可视化图形工具
4|1什么是Grafana
Grafana是一个开源的度量分析和可视化工具,可以通过将采集的数据分析,查询,然后进行可视化的展示,并能实现报警。
4|2使用Grafana连接Prometheus
在grafana服务器上安装grafana
下载地址:https://grafana.com/grafana/download
通过浏览器访问 http:// grafana服务器IP:3000
就到了登录界面,使用默认的admin用户,admin密码就可以登陆了
下面我们把prometheus服务器收集的数据做为一个数据源添加到grafana,让grafana可以得到prometheus的数据。
然后为添加好的数据源做图形显示
最后在dashboard可以查看到
匹配条件显示
4|3Grafana图形显示MySQL监控数据
在grafana上修改配置文件,并下载安装mysql监控的dashboard(包含相关json文件,这些json文件可以看作是开发人员开发的一个监控模板)
参考网址: https://github.com/percona/grafana-dashboards
点import导入后,报prometheus数据源找不到,因为这些json文件里默认要找的就是叫Prometheus的数据源
5|0扩展
prometheus目前还在发展中,很多相应的监控都需要开发。但在官网的dashboard库中,也有一些官方和社区开发人员开发的dashboard可以直接拿来用
__EOF__

本文链接:https://www.cnblogs.com/dongye95/p/15226838.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!