性能监控平台搭建(grafana+telegraf+influxdb) 及 配置 jmeter后端监听
阅读原文时间:2023年08月09日阅读:2

搞性能测试,可以搭建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

注:建议用网盘中分享的telegraf.conf配置文件(增加了network配置),在/etc/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://${monitor_ip}:8086/write?db=jmeter   #${monitor_ip}为infulxdb 地址

 【application】:HSJ${__strReplace(${__TestPlanName},.jmx,,)}

【testTitle】:${__TestPlanName}

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

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

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

6. 监控效果展示

6.1 硬件资源监控部分截图

6.2 jmeter监控部分截图