prometheus 以及 grafana的安装详见:
https://www.yuque.com/zhanyifan-rkxpe/grf7g5/lu2v0m
添加influxdb的配置
https://www.yuque.com/zhanyifan-rkxpe/grf7g5/lu2v0m#nvtRy
在上面的docker-compose.yml中添加influxdb (记得在当前目录下创建influxdb的目录结构)
version: "3"
services:
prometheus:
image: prom/prometheus:v2.0.0
container_name: 'prometheus'
volumes:
- ./data/:/etc/prometheus/ #映射prometheus的配置文件
- /etc/localtime:/etc/localtime:ro #同步容器与宿主机的时间,这个非常重要,如果时间不一致,会导致prometheus抓不到数据
ports:
- '9090:9090'
grafana:
image: grafana/grafana:5.3.4
container_name: 'grafana'
ports:
- '3000:3000'
volumes:
- ./grafana/config/grafana.ini:/etc/grafana/grafana.ini #grafana报警邮件配置
- ./grafana/provisioning/:/etc/grafana/provisioning/ #配置grafana的prometheus数据源
- /etc/localtime:/etc/localtime:ro
env_file:
- ./grafana/config.monitoring #grafana登录配置
depends_on:
- prometheus #grafana需要在prometheus之后启动
influxdb:
image: influxdb:1.8
container_name: 'influxdb'
ports:
- '8086:8086'
volumes:
- ./influxdb:/var/lib/influxdb
启动docker-compose
可以看到,grafana以及influxdb都已经启动。
进入到influxdb容器中,创建jmeter的库
➜ prometheus docker exec -it 7781eea6376e /bin/bash
root@7781eea6376e:/# show databases;
bash: show: command not found
root@7781eea6376e:/# influxdb
bash: influxdb: command not found
root@7781eea6376e:/# influx
Connected to http://localhost:8086 version 1.8.9
InfluxDB shell version: 1.8.9
> show databases
name: databases
name
----
_internal
jmeter
创建库命令
create database jmeter; # 创建jmeter库
show databases; # 显示所有数据库,显示jmeter库就创建成功
use jmeter; # 进入jmeter库
select * from jmeter;
Jmeter 进行配置,将压测的数据保存到influxdb
1. 在 jmeter 的线程组中添加后端监视器
添加 -> 监听器 -> 后端监听器
监听器的实现 选 influxdbBackendListenerClient, 需要修改 influxdbUrl,修改成自己的ip
measurement: 需要修改成在 influxdb中创建的database
在jmeter中随便执行一次,查看influxdb中是否有变化
在grafana中添加influxdb的数据源
在 grafana 中添加 import jmeter 的监控模版
https://grafana.com/api/dashboards/5496/revisions/1/download
将文件中的json,直接复制进去,即可
执行jmeter的测试,就能看到页面的变化