docker搭建jmeter可视化监控:jmeter + influxdb + grafana
一、首先是安装docker
1、linux 安装所需要的包:yum install -y yum-utils device-mapper-persistent-data Ivm2
2、安装docker 最新版本 : yum install docker-ce -y
3、启动docker : systemctl start docker
4、查看docker 状态:systemctl status docker
5、设置开机启动:systemctl enable docker
6、查看 是否开机启动:systemctl is-enabled docker
7、 重新加载配置: systemctl daemon-reload
8、 验证查看docker 版本:docker version
其他命令:
停止docker :systemctl stop docker
重启docker:systemctl restart docker
设置开机不启动:systemctl disable docker
二、配置docker 镜像
1、首先创建 docker 目录:mkdir /etc/docker
2、创建daemon.json 文件: vim /etc/docker/daemon.json
3、 daemon.json 配置镜像:
[root@demo docker]# pwd
/etc/docker
[root@demo docker]# vim daemon.json

{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://mirrors.tuna.tsinghua.edu.cn",
"http://mirrors.sohu.com",
"https://ustc-edu-cn.mirror.aliyuncs.com",
"https://ccr.ccs.tencentyun.com",
"https://docker.m.daocloud.io",
"https://docker.awsl9527.cn"
]
}
4、 重新加载配置:systemctl daemon-reload
5、重启Docker:systemctl restart docker[root@demo~]# docker run --name influxdb -d -p 18086:8086 influxdb:1.7.1 3d9f0d362bb69c09dfc576e4322380f04c2cb4b3e5e615d609322946d3ddcf4b [root@demo~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE influxdb 1.7.1 623f651910b3 6 years ago 238MB 3、 查看容器:docker ps
[root@demo~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3d9f0d362bb6 influxdb:1.7.1 "/entrypoint.sh infl…" 25 seconds ago Up 24 seconds 0.0.0.0:18086->8086/tcp, :::18086->8086/tcp influxdb
4、 创建数据库:
进入容器 [root@demo docker]# docker exec -it 3d9f0d362bb6 /bin/bash 查看 influx root@3d9f0d362bb6:/# influx Connected to http://localhost:8086 version 1.7.1 InfluxDB shell version: 1.7.1 Enter an InfluxQL query > show databases; -- 查看数据库 name: databases name ---- _internal > create database jmeter; -- 创建数据库 > show databases; -- 查看数据库 name: databases name ---- _internal jmeter > use jmeter; -- 查看jmeter数据库 Using database jmeter > select * from jmeter; > exit -- 退出
root@3d9f0d362bb6:/#

容器中不能使用vi 以及vim 编辑文件,因此需要:挂载文件、目录
root@3d9f0d362bb6:/# vim /etc/influxdb/influxdb.conf
bash: vim: command not found
root@3d9f0d362bb6:/# cat /etc/influxdb/influxdb.conf
[meta]
dir = "/var/lib/influxdb/meta"
[data]
dir = "/var/lib/influxdb/data"
engine = "tsm1"
wal-dir = "/var/lib/influxdb/wal"
root@3d9f0d362bb6:/# vi /etc/influxdb/influxdb.conf
bash: vi: command not found
root@3d9f0d362bb6:/#
创建配置文件和数据文件的 映射文件夹
-- 进入目录,没有找到文件夹
[root@demo docker]# cd /root/docker/influxdb
-bash: cd: /root/docker/influxdb: No such file or directory
创建 /influxdb/conf 文件夹
[root@demo docker]# mkdir -p ~/docker/influxdb/conf
You have new mail in /var/spool/mail/root
创建 influxdb文件夹
[root@demo docker]# mkdir -p ~/docker/influxdb/influxdb
编写配置
[root@demo docker]# vim ~/docker/influxdb/conf/influxdb.conf
[meta] dir = "/var/lib/influxdb/meta" [data] dir = "/var/lib/influxdb/data" engine = "tsm1" wal-dir = "/var/lib/influxdb/wal"
[root@demo docker]# cat ~/docker/influxdb/conf/influxdb.conf
[root@demo docker]# cd /root/docker/influxdb/conf
[root@demo conf]# ls
influxdb.conf
[root@demo influxdb]# ls
conf influxdb
创建 数据文件
[root@demo influxdb]# mkdir -p ~/docker/influxdb/influxdb/data
文件 进行授权
[root@demo influxdb]# chmod -R 777 ~/docker/influxdb
前面启动了docker ,此时进行停止,删除
docker stop influxdb && docker rm influxdb
1 [root@demo conf]# docker stop influxdb && docker rm influxdb 2 influxdb 3 influxdb 4 [root@demo conf]# docker run --name influxdb -p 18086:8086 -v /root/docker/influxdb/conf/influxdb.conf:/etc/influxdb/influxdb.conf -v /root/docker/influxdb/influxdb:/var/lib/influxdb -v /etc/localtime:/etc/localtime -d influxdb:1.7.1 5 b59365cd212d6e15f5f8f19221106f9216b4d551662bbba5e5f823df2eef20d6 6 [root@demo conf]# docker ps -a 7 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8 b59365cd212d influxdb:1.7.1 "/entrypoint.sh infl…" 10 seconds ago Up 9 seconds 0.0.0.0:18086->8086/tcp, :::18086->8086/tcp influxdb 9 [root@demo conf]# docker ps 10 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 11 b59365cd212d influxdb:1.7.1 "/entrypoint.sh infl…" 13 seconds ago Up 13 seconds 0.0.0.0:18086->8086/tcp, :::18086->8086/tcp influxdb 12 [root@demo conf]#
如果 docker ps,没有看到启动的容器,使用 docker ps -a 看 可以看到所有容器的状态
[root@demo data]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
574f4511a1b5 influxdb:1.7.1 "/entrypoint.sh infl…" 3 minutes ago Exited (1) About a minute ago influxdb
You have new mail in /var/spool/mail/root
如果是Exited 就是没有正常启动,使用日志命令去查看问题
[root@demo data]# docker logs influxdb
run: parse config: Near line 1 (last key parsed 'meta'): bare keys cannot contain '\u00a0'
run: parse config: Near line 1 (last key parsed 'meta'): bare keys cannot contain '\u00a0'
run: parse config: Near line 1 (last key parsed 'meta'): bare keys cannot contain '\u00a0'
上面提示meta配置文件有错误,就去修改,修改好了,停止容器,删除容器,重新启动
-------
若:auth-enabled = true 给influxdb 创建用户:
-- 进入容器
[root@ddemo data]# docker exec -it 3d9f0d362bb6 /bin/bash
-- 进入influx root@3d9f0d362bb6:/# influx 5 Connected to http://localhost:8086 version 1.7.1 6 InfluxDB shell version: 1.7.1 7 Enter an InfluxQL query
-- 使用 数据库 > show databases; 9 name: databases 10 name 11 ---- 12 _internal 13 jmeter
-- 创建用户密码 14 > create user "root" with password '123456' with all privileges; 15 > show databases; 16 name: databases 17 name 18 ---- 19 _internal 20 jmeter
-- 使用登录 21 > auth 22 username: root 23 password: 24 > exit 25 root@3d9f0d362bb6:/# exit 26 exit
若是没有,则创建jmeter数据库;
> show databases;
name: databases
name
----
_internal
> create database jmeter;
> show databases;
name: databases
name
----
_internal
jmeter
>
四、 安装grafana
[root@demo ~]# docker pull grafana/grafana:6.7.3 6.7.3: Pulling from grafana/grafana 4167d3e14976: Pull complete dd2bf2ad25d9: Pull complete bc3026833a3a: Pull complete 8789bc1f4250: Pull complete fc931efc1e71: Pull complete 09de0f0f5c91: Pull complete b9833e14e8a2: Pull complete 763366917f49: Pull complete Digest: sha256:b409a69218ca5990b61e33fe00121c94b2f9b5a7ec2f3118c703454c26067020 Status: Downloaded newer image for grafana/grafana:6.7.3 docker.io/grafana/grafana:6.7.3 [root@demo~]#
2、 运行容器:docker run --name grafana -d -p 3001:3000 grafana/grafana:6.7.3
[root@demo ~]# docker run --name grafana -d -p 3001:3000 grafana/grafana:6.7.3
bcf1cb1020b97d249d68380db41aab97cc2078e4ecad6b78c58d3abe339ba743
You have new mail in /var/spool/mail/root
3、 查看容器:
[root@demo~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bcf1cb1020b9 grafana/grafana:6.7.3 "/run.sh" 50 seconds ago Up 48 seconds 0.0.0.0:3001->3000/tcp, :::3001->3000/tcp grafana
b59365cd212d influxdb:1.7.1 "/entrypoint.sh infl…" 40 minutes ago Up 40 minutes 0.0.0.0:18086->8086/tcp, :::18086->8086/tcp influxdb
4、 浏览器打开访问:
http://192.168.118.180:3001/login
账号:admin 密码: admin






导入模板;可以再这里找:https://grafana.com/grafana/dashboards/?search=jmeter

5496


成功:

五、使用Jmeter 运行脚本,查看监控
Jmeter 创建脚本,添加后端监听器,填写influxdb的数据



浙公网安备 33010602011771号