Prometheus+Grafana+Jmeter监控服务器资源及中间件

一、Prometheus & node_exporter & Grafana 的原理

Grafana

功能:数据可视化平台,可以创建和分享复杂的图表和仪表板。

作用:用于展示和监控来自 Prometheus 的数据。

Prometheus

功能:开源监控和警报工具,主要用于收集和存储时间序列数据。

作用:作为数据源,负责从 Node Exporter 获取系统资源信息。

Node Exporter

功能:Prometheus 的一个Exporter,用于从Linux节点(如CPU、内存、磁盘、网络等)收集系统级别的度量信息。

作用:充当 Prometheus 和系统资源之间的桥梁。

原理图:

二、环境与配置关系

三、node_exporter介绍、下载、解压、启动

1、node_exporter介绍

Node Exporter是Prometheus的一个指标数据收集组件,用于采集目标节点(如服务器、主机或容器等)的各种运行指标,如CPU、内存、磁盘、网络等。

Node Exporter是由Prometheus官方提供并维护的,它是一个用Go语言编写的独立组件。它通过各种系统命令或者访问操作系统的接口来获取指标数据,然后将这些数据转换成Prometheus支持的格式并暴露出来。

2、下载node_exporter

下载地址:https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz

下载完成后,MobaXterm工具上传压缩包上传到【192.168.124.129】服务器的/home/tools/ 目录中。

3、解压node_exporter

root@centos7 tools\]# tar -xvzf node_exporter-1.6.1.linux-amd64.tar.gz![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/369ecf05752240438779bd6e0d721e62.png) 4、启动node_exporter node_exporter默认监听端口为9100,我们启动可以指定监听端口为:8100 \[root@centos7 node_exporter\]# nohup ./node_exporter --web.listen-address=:8100 \&![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1e7fd41b94904abb9983c31cbf14afd2.png) 四、mysql_exporter介绍、下载、解压、启动 1、mysql_exporter介绍 MySQL Exporter是一个专门用于监控MySQL数据库的Prometheus Exporter。它可以提供有关MySQL的各种指标,以便对数据库进行全面、深入的分析和了解。 MySQL Exporter的工作原理是,通过查询MySQL服务器的状态变量、内存使用情况、锁状态、QPS等信息,将这些数据转换成Prometheus支持的格式并暴露出来。Prometheus Server通过HTTP协议定时从MySQL Exporter中获取这些数据,并将其存储在自己的时间序列数据库中。 2、下载mysql_exporter 下载地址:https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.0/mysqld_exporter-0.15.0.linux-amd64.tar.gz 下载完成后,MobaXterm工具上传压缩包上传到【192.168.124.129】服务器的/home/tools/ 目录中。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9fe0ac25842041eeb8819deef98f0195.png) 3、解压mysql_exporter \[root@centos7 tools\]# tar -xzvf mysqld_exporter-0.15.0.linux-amd64.tar.gz![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/373ef57d30a34aafa208974d9f7bd218.png) 4、启动mysql_exporter mysql_exporter默认监听端口为9104,我们启动可以指定监听端口为:8200,新建my.cnf文件。 my.cnf 配置文件输入如下内容 \[client

host = 192.168.124.129

port = 3306

user = root

password = root

启动mysql_exporter命令

root@centos7 mysqld_exporter\]# ./mysqld_exporter --config.my-cnf='/home/tools/mysqld_exporter/my.cnf' --web.listen-address=:8200 \&![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e432c10f2f1142f8a4fd844cde5b3f35.png) 五、redis_exporter介绍、下载、解压、启动 1、redis_exporter介绍 Redis Exporter是一个用于Prometheus监控的工具,它可以抓取Redis服务器的指标数据,并将其转换为Prometheus可以理解的格式。 Redis Exporter通过访问Redis服务器的INFO命令来获取各种指标数据,如内存使用情况、客户端连接数、键值存储统计信息等。然后,它将这些数据转换成Prometheus支持的格式并暴露出来。Prometheus Server通过HTTP协议定时从Redis Exporter中获取这些数据,并将其存储在自己的时间序列数据库中。 2、下载redis_exporter 下载地址:https://github.com/oliver006/redis_exporter/releases/download/v1.54.0/redis_exporter-v1.54.0.linux-amd64.tar.gz 下载完成后,MobaXterm工具上传压缩包上传到【192.168.124.129】服务器的/home/tools/ 目录中。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1c7ad6011e3d4db5b2b67d387b9e21f3.png) 3、解压redis_exporter \[root@centos7 tools\]# tar -xvzf redis_exporter-v1.54.0.linux-amd64.tar.gz![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/1bafb31060aa42549a75f1ea10cd525c.png) 4、启动redis_exporter redis_exporter 默认监听端口为 9121,我们可以修改其监听端口为:8300 \[root@centos7 redis_exporter\]# ./redis_exporter -redis.addr 'redis://192.168.124.129:6379' -redis.password '123456' -web.listen-address ':8300' \&![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b943d02b91c84b159f612e2d9ebdde8c.png) 六、Prometheus下载,配置,启动 1、下载Prometheus 详见:Prometheus(普罗米修斯)常用exporter类下载地址大全 下载地址:https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz 下载完成后,MobaXterm工具上传压缩包上传到【192.168.124.130】服务器的/home/tools/ 目录中。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2c584d18a6b34a21acdec2398ec2f259.png) 2、解压Prometheus \[root@centos71 tools\]# tar -xzvf prometheus-2.47.0.linux-amd64.tar.gz![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/78b4ae84e3544eb6aa1ae2a82026ae2b.png) 3、启动Prometheus及添加Node_exporter、redis_exporter、mysq_exporterl配置 Prometheus默认端口:9090,支持修改端口,进入 vi prometheus.yml ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/50d55166f7044031aa8c7f60c83c0914.png) 进入 vi prometheus.yml ,分别追加Node_exporter 、mysq_exporterl、redis_exporter配置如下内容(注意Yaml格式):![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/2656722468e94bafbb81313ab35a0001.png) 启动prometheus命令 -- 默认监听端口8010 \[root@centos71 prometheus\]# ./prometheus --config.file='/home/tools/prometheus/prometheus.yml' --web.listen-address='192.168.124.130:8010' \&![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e35cecfb55944511a1b63b36546d40c5.png) 进入http://192.168.124.130:8010/targets 查看 Prometheus 启动显示![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b4709f7523894994a091c4e570ff894c.png) http://192.168.124.130:8010/metrics 、 http://192.168.124.130:8100/metrics 、 http://192.168.124.130:8200/metrics 、 http://192.168.124.130:8300/metrics 地址查看收集数据源![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/50cabcb62f434938bed0472a0722067b.png) 七、Grafana下载,启动,配置数据源,导入模板 1、Grafana下载,启动,请参考此篇文章:Jmeter+Influxdb+Grafana平台监控性能测试过程(三种方式) 2、Prometheus 配置数据源 进入 Configuration -\> Data Sources ,点击 Prometheus ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/36aceffe93c64be08f1ddf75c8033878.png) ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a2d8b300a2be4dcc81b8229e088b5ca6.png) 2、导入服务器主机模板,选择模板ID:12633,导入Mysql监控模板,选择模板ID:17320,导入Redis监控模板,选择模板ID:11835 服务器资源展示![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/20070d6a2a81433e96858682eb862b90.png) Mysql中间件资源展示![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/22c4b91c2a724738a71b5a1f4db72fe8.png) Redis中间件资源展示![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/dc7d64edda4946b798337c9316e85823.png) 八、压测主机【192.168.124.129】,查看Grafana平台主机服务器的变化![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/09f01c2ff5864d678a88c21d9bd4a666.png) 服务器主机明显变化。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/37af8286b3a340cf97d82f7a7b5c6612.png)

相关推荐
海姐软件测试1 天前
Postman参数化设置如何设置?
开发语言·jmeter
lifewange2 天前
Jmeter面试题
jmeter
一棵树长得超出它自己2 天前
jmeter if控制器在loop控制器执行结束后执行
前端·jmeter
企鹅侠客3 天前
Prometheus operator怎么添加targets和告警规则
运维·云原生·kubernetes·prometheus·pod
zzhz9253 天前
Jmeter(性能指标、指标插件、测试问题、面试题、讲解稿)
java·jvm·jmeter
熙客3 天前
Jmeter-负载测试
jmeter·压力测试
ylatin3 天前
jmeter web压力测试 压测
jmeter·压力测试
wu8587734574 天前
【实战指南】Spring Boot + Grafana 实时监控API请求与异常,让系统问题无处可藏
spring boot·grafana
zzhz9254 天前
Jmeter操作(数据库)
数据库·jmeter
木二4 天前
附042.Kubernetes_v1.32.3生成环境高可用部署
云原生·kubernetes·prometheus·ingress·longhorn