天天看点

jmeter+influxdb+grafana可视化监控接口测试

一、安装influxdb

influxdb使用go语言编写的小型数据库

jmeter3.0+,以后backend listener 才对接influxDB.如下

jmeter+influxdb+grafana可视化监控接口测试

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm --no-check-certificate

--no-check-certificate   不要验证服务器的证书。

下载到当前目录

jmeter+influxdb+grafana可视化监控接口测试

rpm -ivh influxdb-1.7.0.x86_64.rpm

解压后存放在/etc配置文件根目录

jmeter+influxdb+grafana可视化监控接口测试

vi /etc/influxdb/influxdb.conf

修改如下,找到对应的位置,修改或者去掉注释即可;

[[graphite]]

# Determines whether the graphite endpoint is enabled.

enabled = true

database = "jmeter" # 数据库名称

retention-policy = ""

bind-address = ":2003" # 端口

protocol = "tcp"

consistency-level = "one"

修改以下信息

[meta]

dir = "/usr/local/influxdb/meta" #存放最终存储的数据,文件以.tsm结尾

[data]

dir = "/usr/local/influxdb/data" #存放数据库元数据 wal

wal-dir = "/usr/local/influxdb/wal" #存放预写日志文件

修改HTTP端口信息

[http]

# Determines whether HTTP endpoint is enabled.

# The bind address used by the HTTP service.

bind-address = ":8086"

jmeter+influxdb+grafana可视化监控接口测试

 在上一步中我们设置了存放数据的目录为/usr/local/influxdb,这个目录不会自动生成,因此需要手动创建并授权,执行命令如下:

 mkdir influxdb

jmeter+influxdb+grafana可视化监控接口测试

export INFLUXDB_CONFIG_PATH=/etc/influxdb/influxdb.conf

jmeter+influxdb+grafana可视化监控接口测试

方式一: 直接执行命令: influxd -config /etc/influxdb/influxdb.conf

jmeter+influxdb+grafana可视化监控接口测试

方式二:因为配置了环境变量,所以采用如下命令:influxd &

如果想要退出服务,输入命令:ctrl+c

jmeter+influxdb+grafana可视化监控接口测试

创建数据库

命令:influx启动客户端

然后查看现有数据库:show databases

jmeter+influxdb+grafana可视化监控接口测试

1.7 influxdb 创建新的数据库

CREATE DATABASE jmeter:用来存储jmeter运行时的脚本数据

CREATE DATABASE grafan:用来存放监控的指标数据

jmeter+influxdb+grafana可视化监控接口测试

 目前InfluxDB最新版为1.7,没有web界面,1.2以后的版本就没有了;

二、配置grafana

命令:yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.0.1-1.x86_64.rpm

jmeter+influxdb+grafana可视化监控接口测试
jmeter+influxdb+grafana可视化监控接口测试
jmeter+influxdb+grafana可视化监控接口测试

命令:service grafana-server stop

jmeter+influxdb+grafana可视化监控接口测试

官网地址:https://grafana.com/grafana/download

wget https://dl.grafana.com/oss/release/grafana-7.5.4-1.x86_64.rpm

然后执行安装:sudo yum install grafana-7.5.4-1.x86_64.rpm

如果安装后启动报如下错误:Starting grafana-server (via systemctl):  Job for grafana-server.service failed because the control process exited with error code. See "systemctl status grafana-server.service" and "journalctl -xe" for details.

则需要删除安装包,可能安装包有冲突:

jmeter+influxdb+grafana可视化监控接口测试

 先查看程序包是否安装:

rpm -qa|grep grafana

jmeter+influxdb+grafana可视化监控接口测试

然后移除安装包:yum -y remove grafana

则把旧版本和新版本安装包都卸载了;

jmeter+influxdb+grafana可视化监控接口测试

重新执行安装命令:sudo rpm -i --nodeps grafana-7.5.4-1.x86_64.rpm

启动服务成功;

jmeter+influxdb+grafana可视化监控接口测试
jmeter+influxdb+grafana可视化监控接口测试

命令:/etc/init.d/grafana-server restart

jmeter+influxdb+grafana可视化监控接口测试

 浏览器中输入10.223.123.234:3000

端口号是默认的,ip就是安装grafana的服务器ip

账号和密码默认都是admin/admin

jmeter+influxdb+grafana可视化监控接口测试

点击头像里面的data source:创建数据源jmeter和grafana

配置如图,是为了从influxdb的jmeter数据库中获取数据配置

注意:新建数据源选择influxdb时,需要将influxd &启动influxdb服务

jmeter+influxdb+grafana可视化监控接口测试
jmeter+influxdb+grafana可视化监控接口测试
jmeter+influxdb+grafana可视化监控接口测试

【注意】URL的端口是8086,而刚才配置的8083是UI的端口。

    - 8083端口是InfluxDB的UI界面展示的端口

    - 8086端口是Grafana用来从数据库取数据的端口

    - 2003端口则是刚刚设置的,Jmeter往数据库发数据的端口

选择dashboard菜单--》import进入一下界面:因为grafana中现成的成熟的监控面板,引用即可;

jmeter+influxdb+grafana可视化监控接口测试

然后打开grafana官网jmeter监控dashboard的模板链接

https://grafana.com/grafana/dashboards/5496

jmeter+influxdb+grafana可视化监控接口测试
jmeter+influxdb+grafana可视化监控接口测试
jmeter+influxdb+grafana可视化监控接口测试

 然后点击import即可,然后点击右上角保存按钮,后续可以点击dashboard,在最近浏览的记录上找到

jmeter+influxdb+grafana可视化监控接口测试
jmeter+influxdb+grafana可视化监控接口测试

注意:如果想要了解这些监控都代表什么意思,可以访问Jmeter的官网地址去查看阅读“http://jmeter.apache.org/usermanual/realtime-results.html”

service grafana-server stop

jmeter+influxdb+grafana可视化监控接口测试

3.配置jmeter

jmeter+influxdb+grafana可视化监控接口测试

初始化如下

jmeter+influxdb+grafana可视化监控接口测试

 需要改成:

jmeter+influxdb+grafana可视化监控接口测试
jmeter+influxdb+grafana可视化监控接口测试
jmeter+influxdb+grafana可视化监控接口测试
jmeter+influxdb+grafana可视化监控接口测试

 transaction里面是请求的接口

jmeter+influxdb+grafana可视化监控接口测试
上一篇: python 多线程

继续阅读