Linux系统搭建性能测试监控体系
一.安装Grafana
1.Grafana介绍(默认端口3000):
Grafana是一个开源的监控和可视化工具,用于显示和跟踪各种指标,数据和日志,支持多种源,包括influxDB、prometheus、mango DB,Redis,Mysql,PostgreSQL等。它提供多种图标类型,饼图,支持设置预警机制,当监控指标超出预定阈值时,可以通过email、webhook等方式发出警报,可以与其他工具例如prometheus、Kubernetes进行集成,提供更全面的监控解决方案。
1.Grafana安装:
下载地址:https://grafana.com/grafana/download/10.4.1?pg=graf&plcmt=deploy-box-1
下载后,在linux系统cd /opt mkdir grafana,然后将下载的grafana-enterprise-10.4.1-1.x86_64.rpm拖入grafana文件夹下
安装命令:sudo yum install -y grafana-enterprise-10.4.1-1.x86_64.rpm
启动grafana:
`sudo systemctl daemon-reload` # 重新加载 Systemd 系统管理守护程序的配置⽂件
`sudo systemctl start grafana-server`
查看grafana的启动状态
sudo systemctl status grafana-server
设置grafana开机即启动: sudo systemctl enable grafana-server
然后输入:http://虚拟机的ip地址:3000(默认端口)访问,如果访问不到的话可以尝试将防火墙关掉重新访问,systemctl stop firewalld,默认账号密码都是admin

grafana常用【dashborad】和【connection】---【data sources】两个功能,dashboard用来设置看板,data sources可以设置grafana的数据源(有influxDB、prometheus、mango DB等)
二.安装influxDB
influxDB是一个开源的时间序列数据库,用于存储、查询和分析时间序列数据,是一个数据点按照时间顺序排列的数据集合,时间序列数据通常用于监控、日志,可以与grafana集成。
将下载的influxDB的rpm包放在grafana目录下, 使用`sudo yum install -y rpm包名`安装
启动influxDB: `systemctl start influxdb`
查看启动状态: `systemctl status influxdb`
设置成为开机即启动: `systemctl enable influxdb.service`
输入influx命令进入influx数据库,创建数据库(必做这一步)

jmeter添加一个后端监听器,配置监听器信息,配置完成后,当我们本地jmeter再做测试时,就会把数据传入infuxdb时序数据库去,端口默认是8086

配置grafana与influxdb集成
1.配置influxdb地址信息:
在grafana中,使用【connections】-->【Data sources】 ---add data sources,选择influxdb

填写URL、Database两项信息:

填写数据库名字,请求方式选择get,save and test,出现绿色的对钩信息说明配置成功:

2.配置grafana的【dashborad】信息,如果已经存在可以导入grafana的json文件,可以直接导入,没有的话可以新建

三.部署 prometheus(默认端口9090)
prometheus是一个开源的监控系统,用于收集和存储指标数据,允许用户查询和可视化这些数据。适合动态和分布式系统。可以用来收集时间序列数据,长期存储数据,可以与grafana集成。
1.安装prometheus
在 /opt目录下创建prometheus,mkdir prometheus,上传windows系统的软件包到该目录下,解压:tar xvfz prometheus-2.51.1.linux-amd64.tar.gz
配置环境变量: vi /etc/profile
export PROMETHEUS_HOME=/opt/prometheus/prometheus-2.51.1.linux-amd64
export PATH=$PATH:$PROMETHEUS_HOME
生效环境变量 :source /etc/profile
2.启动prometheus:
prometheus启动⽂件是prometheus的⽂件夹⾥⾯的prometheus⽂件,启动的时候需要指定⼀个 --config.file 的参数。prometheus⽂件夹⾥⾯有个默认的 prometheus.yml ⽂件就是⽤来给其指定的
命令: `prometheus --config.file=/opt/prometheus/prometheus-2.51.1.linux-amd64/prometheus.yml`,这个命令长是因为我的目录长。
从后台启动:nohup ./prometheus > prometheus.log 2>&1
验证是否启动:浏览器输入http://虚拟机ip地址:9090 访问,出现prometheus界面表示启动成功,如果启动不成功需要关闭防火墙,systemctl stop firewalld

四.部署 node-exporter(默认端口9100)
node-exporter是一个开源的prometheus 数据收集工具,收集包括CPU使用率、内存占用、磁盘、网络流量等信息。node-exporter收集的数据可以直接用于prometheus 生态系统。
1.安装node-exporter
将下载的安装包放到上一步创建的prometheus文件夹下,解压:`tar xvfz node的文件名`
2.启动node-exporter
进入node-exporter文件夹下,使用./node_exporter即可启动,后台启动方式:nohup ./node_exporter > node_exporter.log 2>&1 &,node_exporter.log是日志文件,启动后端口是9100,可以使用netstat -nultp |grep 9100查看端口是否被node占用
3.修改prometheus配置文件prometheus.yml文件,在最后面新增一段内容:

然后重启prometheus :
1.先查到prometheus 的进程号ps -ef |grep 9090,杀掉进程,
2.kill -9 进程号,
3.再重启prometheus,使用上一步的启动 prometheus 进行重启
五.配置grafana面板,配置prometheus 信息
【connections】--->data sources,配置如下:

注:在做这一步时必须保证prometheus服务时启动状态的
注:如果以上创建文件夹,windows本地的软件包上传不了,报错提示比如error #3:permission denied的错误,需要切换成root用户,然后将创建的文件夹的权限改成777,就ok了
Linux系统搭建性能测试监控体系的更多相关文章
- 【转载】Linux系统与性能监控
原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...
- Linux系统与性能监控
原文地址:http://kerrigan.sinaapp.com/post-7.html Linux System and Performance Monitoring http://www.hous ...
- Ubuntu等Linux系统显卡性能测试软件 Unigine 3D
Ubuntu等Linux系统显卡性能测试软件 Unigine 3D Ubuntu Intel显卡驱动安装,请参考: http://blog.csdn.net/zhangrelay/article/de ...
- Linux系统和性能监控之CPU篇
Linux系统和性能监控之CPU篇 性能优化就是找到系统处理中的瓶颈以及去除这些的过程.本文由sanotes.net站长tonnyom在2009年8月翻译自Linux System and Perfo ...
- Linux系统搭建Red5服务器
Linux系统搭建Red5服务器 Red5 是 支持Windows,Linux等多平台的RTMP流媒体服务器,Windows下搭建相对容易,图形界面操作比较简单,Linux服务器的环境下没有图形界面, ...
- Linux系统的性能测试
性能测试:CPU内存,硬盘IO读写,带宽速度,UnixBench 一.CPU物理个数.内核.超线程.多核心 1.登录Terminal,执行:cat /proc/cpuinfo,就会显示出主机的CPU详 ...
- 相关不同Linux系统的性能监控命令整理
Linux系统 查看系统版本情况: $uname -a 监控进程的CPU,MEM使用情况: $ps –aux 过滤方式命令:$ ps -aux|awk '{print $3,$4,$11}'|sort ...
- Linux系统搭建Java环境【JDK、Tomcat、MySQL】一篇就够
前言:所有项目在完成开发后都会部署上线的,一般都是用Linux系统作为服务器的,很少使用Windows Server(大多数项目的开发都是在Windows桌面系统完成的),一般有专门负责上线的人员 ...
- 实验四 Linux系统搭建C语言编程环境
项目 内容 这个作业属于那个课程 <班级课程的主页链接> 这个作业的要求在哪里 <作业要求链接地址> 学号-姓名 17043220-万文文 作业学习目标 1).Linux系统下 ...
- linux系统搭建ftp服务器及创建用户使用
linux 系统下搭建ftp服务器 ftp是什么 FTP是 File Transfer Protocol 文件传输协议的英文名称,用于在Internet上控制文件的双向传输. 同时它也是一个应用程序. ...
随机推荐
- Game on Sum--组合数学--DP
\(Codeforces-Round 767\) (Div. 2) F2. \(Game \ on \ Sum\) \(HERE\) 题意 \(QZS\) 和 \(HANGRY\) 玩游戏. 游戏共有 ...
- 移除 Parallels Access Sound 虚拟设备
在安装了 Parallels 之后,发现 Mac 没声音,打开声音设置一看音频输出设备被设为了 Parallels Access Sound.把输出设备调回 MacBook 扬声器就有声音了. 但是音 ...
- docker高级篇第三章-dockerfile案例之制作自己的centos镜像
在上一篇文章中<Dockerfile介绍及常用保留指令>,我们介绍了Dockerfile是什么以及Dockerfile常用的保留字段.熟悉了这些之后,有没有想自己动手写一个Dockerfi ...
- 【YashanDB知识库】字段加上索引后,SQL查询不到结果
[标题]字段加上索引后,SQL查询不到结果 [问题分类]索引功能使用 [关键字]索引,SQL查询,时间类型,vachar字符类型 [问题描述]字段加上索引后,SQL查询不到结果. [问题原因分析]当前 ...
- Innodb对表加锁的过程分析
本节我们通过一些具体的案例来分析Innodb对表上锁的过程.具体场景如下图所示. 在这里我们将语句分为4类:普通select(快照读).锁定读.半一致性读 和 insert语句. 普通读 普通的sel ...
- 从Workload中优雅隔离Pod
线上集群中,业务跑着跑着,突然发现有个Pod上出现大量错误日志,其他的Pod是正常的,该如何处理呢? 直接删除Pod? 这样不便于保留现场,可能会影响判断问题的根因 让业务方忍一会,先排查下问题? 会 ...
- C++17: 用折叠表达式实现一个IsAllTrue函数
前言 让我们实现一个 IsAllTrue 函数,支持变长参数,可传入多个表达式,必须全部计算为true,该函数才返回true. 本文记录了逐步实现与优化该函数的思维链,用到了以下现代C++新特性知识, ...
- Angular Material 18+ 高级教程 – Datepicker の Calendar & Custom DateAdapter (Temporal)
前言 本篇只会教 Angular Material Datepicker 里最关键的组件 -- Calendar 组件. 还有如何自定义 DateAdapter,让 Calendar 支持 TC39 ...
- Asp.net core 学习笔记之 authentication + authorization + identity + identity server 4 + angular 第六篇 (authorization 之 simple authorization, role based, claim based, policy based)
authorization 授权是什么 ? 就是某个人必须符合某些条件才能做某些事儿 某个人指的是登入的 user 某些条件指的是 policy requirements 事儿指的是访问 contro ...
- SaaS架构:流程架构分析
大家好,我是汤师爷~ 今天聊聊SaaS架构中的流程架构分析. 业务流程的概念 业务流程是企业为实现目标而制定的一套系统化的工作方法.它由一系列有序的业务活动组成,按照既定规则将资源(输入)转化为有价值 ...