搞性能测试,可以搭建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. [网鼎杯 2018]Comment-1|SQL注入|二次注入

    1.打开之后只有一个留言页面,很自然的就想到了二次注入得问题,顺带查看了下源代码信息,并没有什么提示,显示界面如下: 2.那先扫描一下目录,同时随便留言一个测试以下,但是显示需要登录,账户.密码给出了 ...

  2. Spring(四)-声明式事务

    Spring-04 声明式事务 1.事务的定义 事务就是由一组逻辑上紧密关联的多个工作单元(数据库操作)而合并成一个整体,这些操作要么都执行,要么都不执行. 2.事务的特性:ACID 1)原子性A : ...

  3. python 二分法查找字典中指定项第一次出现的索引

    import time #引入time库,后续计算时间. inform_m = {} #创建母字典 inform_s = {} #母字典下嵌套的子字典 #给母字典添加键-值 for i in rang ...

  4. PostgreSQL 时间函数分类与特性

    KingbaseES 时间函数有两大类:返回事务开始时间和返回语句执行时的时间.具体函数看以下例子: 1.返回事务开始时的时间 以下函数返回事务开始的时间(通过 begin .. end 两次调用结果 ...

  5. 痞子衡嵌入式:理解i.MXRT中FlexSPI外设lookupTable里配置访问行列混合寻址Memory的参数值

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT中FlexSPI外设lookupTable里配置访问行列混合寻址Memory的参数值. 关于 FlexSPI 外设的 loo ...

  6. X-Pack:创建阈值检查警报

    简单的事情应该简单(Simple things should be simple),这是Elastic {ON} '17的主题之一,Elastics收到了许多关于使用简单易用的UI创建警报的请求.事实 ...

  7. Beats:为 Beats => Logstash => Elasticsearch 架构创建 template 及 Dashboard

    文章转载自:https://elasticstack.blog.csdn.net/article/details/115341977 前一段时间有一个开发者私信我说自己的 Beats 连接到 Logs ...

  8. CAS核心思想、底层实现

    ★ 1.CAS 是什么 CAS 是比较并交换,是实现并发算法时常用到的一种技术.当内存的值和期望的值相等时,进行更新,否则 什么都不做 或 重来 . CAS 的底层实现:是靠硬件实现的,靠硬件的原子性 ...

  9. C++面向对象编程之虚函数与多态和继承和复合下的构造和析构

    1.对于非虚函数,是不希望派生类对该函数重新定义: 对于virtual函数,在父类已经有默认定义后,并希望子类重新定义它: 对于pure virtual函数,父类没有默认定义,派生类必须要重新定义它: ...

  10. BZOJ3732 Network(Kruskal重构树)

    Kruskal重构树的模板题. 给你N个点的无向图 (1 <= N <= 15,000),记为:1-N.图中有M条边 (1 <= M <= 30,000) ,第j条边的长度为: ...