搞性能测试,可以搭建Grafana+Telegraf+InfluxDB 监控平台,监控服务器资源使用率、jmeter性能测试结果等。


telegraf: 是一个用 Go 编写的代理程序,可收集系统和服务的统计数据,并写入到 InfluxDB 数据库。

influxdb:是一个用 Go 编写的目前比较流行的时间序列数据库。
grafana:是一个开箱即用的可视化工具,具有功能齐全的度量仪表盘和图形编辑器,有灵活丰富的图形化选项,可以混合多种风格,支持多个数据源特点。
三者之间的关系为:telegraf(监控数据收集)->influxdb(监控数据存储)->(监控数据展示)


  在服务器/home目录下新增一个grafana文件夹,并将下载的组件全部上传至该目录下

上传组件:grafana-8.4.4-1.x86_64.rpm、influxdb-1.8.1.x86_64.rpm、telegraf-1.21.4-1.x86_64.rpm

  组件链接: https://pan.baidu.com/s/1f_I4hXe4a317ivlrEIoTHQ 提取码: y4vi

1.安装influxdb

1.1 安装influxdb

cd /home/grafana

rpm -ivh influxdb-1.8.1.x86_64.rpm

1.2 启动influxdb

systemctl start influxdb

1.3 查看influxdb启动状态

ps -ef|grep influxdb

1.4 创建influxdb数据库

influx

>create database telegraf

>show databases

>exit

数据库默认端口是 8086

2.安装telegraf

2.1 安装telegraf

cd /home/grafana

rpm -ivh telegraf-1.21.4-1.x86_64.rpm

2.2 配置telegraf

vi /etc/telegraf/telegraf.conf

#输入  在vi命令行模式中查找内容

/urls

#输入 进入编辑模式

i

## 修改内容如下

urls = ["http://localhost:8086"] #infulxdb 地址

database = "telegraf" #数据库

retention_policy = ""    必须设置为空

#输入 保存并退出 esc

:wq

  其他设置:

2.3 启动telegraf

systemctl restart telegraf

3.安装grafana

3.1 安装字体

安装grafana,我们首先需要安装字体,不然我们的grafana安装会报错

yum install urw-fonts

yum install initscripts fontconfig -y #该步骤可不执行

3.2 再执行安装grafana的命令

cd /home/grafana

rpm -ivh grafana-8.4.4-1.x86_64.rpm

3.3 启动grafana

systemctl start grafana-server

3.4 查看grafana启动状态

ps -ef|grep grafana

3.5 设置开机启动

#可以不用

systemctl enable grafana-server.service

3.6 浏览器访问grafana

http://ip地址:3000

初次启动,grafana会创建数据库,时间稍长,稍后即可访问http://localhost:3000打开grafana登录页面。

输入默认用户名密码登录(admin/admin)

4.配置grafana数据源和仪表板

登录grafana,按照主页向导完成初次配置

4.1 添加datasource(数据源)

在Add data source页面,点击influxDB,按照提示进行设置

NAME:就是给数据创建一个名字(如:telegraf)

url地址为你的influxdb地址,路径为你的服务器的公网ip地址+端口号(如:http://10.16.23.149:8086)

database我们输入之前创建的数据库名称:telegraf

user和password默认为root,如果有需要自行去数据库添加user

添加好后,点击“save&test”

当上方出现data source is working  表示数据库正常运行可以访问,否则请检查防火墙和配置内容

4.2 导入DASHBOARDS(仪表板)

点击左侧菜单栏【+】-【import】,进入导入dashboard页面

导入“下载的仪表板”和“创建的数据源”,点击【import】按钮,导入成功

仪表板下载地址:

https://grafana.com/grafana/dashboards/?dataSource=influxdb

4.3 操作示例

4.3.1 导入telegraf仪表板

进入仪表板下载地址页面,搜索栏输入telegraf进行搜索,选择合适的仪表板,点击下载到本地(JSON文件)

在grafana导入仪表板页面,导入下载的telegraf仪表板,选择数据源为telegraf(步骤4.1创建),点击【import】按钮,导入成功

4.3.2 导入jmeter仪表板

进入仪表板下载地址页面,搜索栏输入jmeter进行搜索,选择合适的仪表板,点击下载到本地(JSON文件)

(参照步骤1.4创建数据库jmeter,参照步骤4.1添加数据源jmeter:数据源name为jmeter、数据库为新建的数据库jmeter)

在grafana导入仪表板页面,导入下载的jmeter仪表板,选择数据源为jmeter,点击【import】按钮,导入成功

5.配置jmeter后端监听

5.1 启动jmeter,测试脚本添加【后端监听器】

【后端监听器实现】选择:org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient

【influxdbUrl】:http://host_to_change:8086/write?db=jmeter   #host_to_change为infulxdb 地址

【testTitle】:${__TestPlanName}

其它选项均用【后端监听器】默认设置

5.2 运行脚本,实时监控测试结果

登入grafana,选择jmeter仪表板,查看测试结果

 6. 监控效果展示

6.1 硬件资源监控部分截图

 6.2 jmeter监控部分截图

部署grafana+telegraf+influxdb 及 配置 jmeter后端监听的更多相关文章

  1. 搭建grafana+telegraf+influxdb服务器性能监控平台

    最近在学习性能测试,了解到一套系统资源使用率低的监控环境,也就是grafana+telegraf+influxdb. InfluxDB是一款优秀的时间序列数据库,适合存储设备性能.日志.物联网传感器等 ...

  2. Oracle一个实例配置多个监听

    要想给一个Oracle实例配置多个监听,首先要定义多个监听器,因为是多个监听,势必会有一些监听端口不是1521. 现在服务端的listener.ora文件中定义如下监听器: LISTENER = (D ...

  3. 黄聪:windows下使用xampp3.2.2配置多个监听端口和不同的网站目录

    windows下使用xampp3.2.2配置多个监听端口和不同的网站目录 一:配置Apache文件httpd.conf 打开Apache的配置文件httpd.conf,可以通过点击xampp的Apac ...

  4. 【PHP】xampp配置多个监听端口和不同的网站目录(转)

    转自:https://blog.csdn.net/cc1314_/article/details/75646344 windows下使用xampp配置多个监听端口和不同的网站目录 一:配置Apache ...

  5. Grafana+Telegraf+Influxdb监控Tomcat集群方案

    前言 前一段时间自家养的几只猫经常出问题,由于没有有效的监控预警手段,以至于问题出现或者许久一段时间才会被通知到.凌晨一点这个锅可谁都不想背,为此基于目前的情况搭建了以下这么一套监控预警系统. 相关软 ...

  6. springBoot高级:自动配置分析,事件监听,启动流程分析,监控,部署

    知识点梳理 课堂讲义 02-SpringBoot自动配置-@Conditional使用 Condition是Spring4.0后引入的条件化配置接口,通过实现Condition接口可以完成有条件的加载 ...

  7. Apache配置多个监听端口

    以前做PC上的,都是配置一个端口,整一大堆的虚拟目录: 在 \conf\extra下找到httpd-vhosts.conf这个配置文件,想下面这样配置就行,监听80端口,访问相应的ServerName ...

  8. Apache配置多个监听端口和不同的网站目录的简单方法(转)

    转自http://www.waaqi.com/archives/707.html 由于开发的多项目,每个项目又要独立,要用根目录地址. 所以这时候我们需要配置多个不同目录的Apache,如果是外部网可 ...

  9. Apache无法正常启动(配置多个监听端口)

    Apache监测多个端口配置: 1.conf->extra->httpd-vhosts.conf  检查配置项是否写错 2.http.conf listen端口是否监听正确 3.环境变量中 ...

随机推荐

  1. 【Java】idea同时运行多个一样的类

    点击"Edit Configurations..." 在左侧选中需要重复运行的类 单击"Modify options" 选择"Allow multip ...

  2. Html飞机大战(四):状态的切换(界面加载类的编辑)

    好家伙,接着写   既然我们涉及到状态了,那么我们也会涉及到状态的切换   那么我们怎样切换状态呢? 想象一下,如果我玩的游戏暂停了,那么我们肯定是通过点击或者按下某个按键来让游戏继续   这里我们选 ...

  3. 第九十八篇:Web的储存机制LocalStorage

    好家伙 1.什么是LocalStorage? LocalStorage 是一种 web 端的存储机制, 它使得由 JavaScript 编写的网站或者应用可以无限期的在浏览器中存储并访问数据. Loc ...

  4. Windows平台摄像头或屏幕RTMP推送介绍:OBS VS SmartPublisher

    好多开发者问道,既然有了OBS,你们为什么还要开发SmartPublisher? 的确,在我们进行Windows平台RTMP推送模块开发之前,市面上为数不多的Windows平台RTMP推流工具当属OB ...

  5. KingbaseES insert all/first 功能介绍

    KingbaseES 内置了对于insert all / first 语法的支持. 一.数据准备 create table t1(product_id number, product_name var ...

  6. KingbaseES R3 集群cluster日志切割和清理案例

    案例说明: 对于KingbaseES R3集群的cluster日志默认系统是不做切割和清理的,随着运行时长的增加,日志将增长为一个非常大的文件,占用比较大的磁盘空间,并且在分析问题读取大文件时效率很低 ...

  7. Python 第三次实验

    一如既往地简单,不到半个小时即可完成 [1] (程序设计)输入一个正整数,输出它的因子分解式.如输入132,则输出132=122311 n=int(input()) print(1,end='') f ...

  8. C语言大作业---学生信息管理系统

    xxxx信息管理系统 简介 因为大作业规定的踩分项就那么多,为了不浪费时间 + 得分,就写成这样.现在看看,命名不规范,书写风格糟糕,全塞在一个源代码中······ 不过,应付大作业是没问题的 实验报 ...

  9. 第四章:Django表单 - 2:Django表单API详解

    声明:以下的Form.表单等术语都指的的广义的Django表单. Form要么是绑定了数据的,要么是未绑定数据的. 如果是绑定的,那么它能够验证数据,并渲染表单及其数据,然后生成HTML表单.如果未绑 ...

  10. SonarQube 之 gitlab-plugin 配合 gitlab-ci 完成每次 commit 代码检测

    转载自:https://cloud.tencent.com/developer/article/1010601 1.背景介绍 我们知道使用 SonarQube 可以在日常开发中检测代码质量,除了使用 ...