概述
关于 influxdb+grafana 的文章,谷歌百度一大把,但是 99.9% 不知所云,不是这边漏一点就是那边漏一点。甚至怀疑绝大部分都是互相抄袭。本着前人挖坑后入埋的态度,我整理了一份详细的文档,给大家分享一下。ubuntu 环境
influxdb 安装配置
下载安装 influxdb 工具
修改配置文件
vim /etc/influxdb/influxdb.conf
修改 host
开放 8086 端口
开放 8083 端口
开放 2003 端口,同时修改数据库名称(我的库名是 jmeter,后面会建)
启动数据库。执行influxd run
配置 influxdb 数据库
进入数据库
执行:influx 进入数据库
添加用户名密码 [root@imzcy ~]# influx
> CREATE USER root WITH PASSWORD '000000' WITH ALL PRIVILEGES
> SHOW USERS
user admin
root true
开启 auth 认证
配置文件中,8086 端口下开启 auth 权限控制
vim /etc/influxdb/influxdb.conf
重启数据库
重启数据库之后再访问数据库就需要带入用户名密码了,否则会报错
influx -username root -password 000000
浏览器启动 influxdb 数据库
需要配置用户名密码,然后连接
创建两个数据库,jmeter 和 telegraf。语法和 mysql 一致
telegraf 服务器监控配置
安装 telegraf
修改配置文件
vim /etc/telegraf/telegraf.conf
配置 host,端口(8086),数据库名称,数据库用户名密码
启动 telegraf
/etc/init.d/telegraf restart
grafana 配置
下载安装 grafana
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.1.3_amd64.deb
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_5.1.3_amd64.deb
服务端启动 grafana
执行:service grafana-server restart
浏览器启动 grafana
用户名密码默认是 admin admin
grafana 服务连接数据库
配置 datasource,连接 jmeter 和 telegraf 两个数据库
grafana 导入模板
jmeter 模板 id:4026
telegraf 模板 id:3967
system 资源监控
点击/home/system
jmeter 性能指标监控
jmeter 添加后端监听器
配置监听器并运行
添加数据库连接 host,端口,库名,用户名,密码
grafana 监听 jmeter 数据
常用 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)
吞吐量
SELECT count("responseTime") FROM "requestsRaw" WHERE $timeFilter GROUP BY time(1s)
响应时间
SELECT mean("responseTime") FROM "requestsRaw" WHERE $timeFilter GROUP BY time($__interval)
活动线程
SELECT mean("meanActiveThreads") FROM "virtualUsers" WHERE $timeFilter GROUP BY time(1s)