jmeter之监控平台:grafana+influxdb+telegraf
一、配置influxdb
拉取镜像并运行容器
docker run -d -p2003 -p 8086:8086 -p 8083:8083 -p 3000:3000 registry.cn-hangzhou.aliyuncs.com/zhufc/influx_grafana:v5
首先配置influx数据库
vim /etc/influxdb/influxdb.conf

由于这个命令是权限校验,需要先关闭它才能创建用户,所以现在我们先注释它。
注释后,启动influxd服务、进入influx数据库创建用户
influxd &
influx
CREATE USER root WITH PASSWORD '000000' WITH ALL PRIVILEGES
查看刚才创建的用户
show users

我们再次进入influxdb.conf开启权限校验,取消注释。

我们现在打开服务地址,端口后就是我们使用docker启动时设置的端口

配置数据库监听端口,用户是root,密码是刚刚我们配置的000000

二、配置grafana
在容器中启动grafana
service grafana-server restart
打开grafana链接:http://ip:3000,并输入密码和账户,都是admin

配置数据库


输入数据库名称、数据库类型、url地址,这个就是本机服务器对外的ip地址,如果云服务器就是公网的ip

密码就是之前创建的数据库的用户root密码:000000

点击save & test,证明已经添加成功。

创建第二个配置


和之前配置的密码一样

保存即可
现在导入模板

输入jmeter 模板 id:4026

我这里已经导入,所以就不用导入,没有提示话就可以导入

这是之前已经配置过的

一般使用这个

配置活动线程




修改下面的SQL语句为:
SELECT mean("meanActiveThreads") FROM "virtualUsers" WHERE $timeFilter GROUP BY time(1s)


然后同样的修改吞吐量SQL为:
SELECT count("responseTime") FROM "requestsRaw" WHERE $timeFilter GROUP BY time(1s)
修改响应时间的SQL为:
SELECT mean("responseTime") FROM "requestsRaw" WHERE $timeFilter GROUP BY time($__interval)
修改聚合报告SQL为:
SELECT count(responseTime) as Count, mean(responseTime) as Avg, min(responseTime) as Min, median(responseTime) as Median, percentile(responseTime, 90) as "90%",percentile(responseTime, 95) as "95%",percentile(responseTime, 99) as "99%", max(responseTime) as Max, (sum(errorCount)/count(responseTime)) as "Error Rate" FROM "requestsRaw" WHERE $timeFilter GROUP BY time(1m)
三、配置jmeter后置监听器
首先下载InfluxDB插件,到这里下载
然后放入ext目录中



然后启动jmeter,grafana已经监听到数据

修改请求数

调整后的样式


四、telegraf 服务器监控配置
修改配置文件
vim /etc/telegraf/telegraf.conf
修改ip为服务器ip

重启服务
/etc/init.d/telegraf restart
导入telegraf 模板 id:3967

我这边之前已经导入过了,就不导入了
然后选择system

选择容器id,这个就是容器的id

和上面是一致的。

一共分成了5个部分



浙公网安备 33010602011771号