Docker部署Jmeter+Grafana+InfluxDB
一:服务器配置
Host hssh505 HostName 180.184.138.70 Port 22 User root
前置条件:windows需通过softether客户端连接VPN
本机ip:192.168.1.44
二:安装docker
安装命令:apt install docker.io
验证版本:2种方式
docker --version
docker -v
出现版本信息则意味着安装成功:Docker version 20.10.21, build 20.10.21-0ubuntu1~18.04.2
查看镜像:docker images
查看所有容器:docker ps -a
查看正在运行的容器:docker ps
删除容器:docker rm -f sunlin-influx(容器名)
三:docker安装influxDB
查看镜像
docker search influx
根据镜像名称拉取镜像
Docker pull tutum/influxdb
运行镜像并生成容器
docker run -d --name sunlin-influx -p 8086:8086 tutum/influxdb
解析
--name sunlin-influx:容器名称:sunlin-influx(可自定义)
-p 8086:8086:指定端口映射,宿主机端口 : 容器端口
tutum/influxdb :镜像名称
查看镜像是否打成功
docker images
查看容器是否启动成功
docker ps
查看所有启动过的容器,包括成功和失败的
docker ps -a
进入容器
- docker exec -it 81851fd9d369 /bin/bash
- docker exec -it 81851fd9d369 bash
- docker exec -it sunlin-influx bash
以上方式均可进入容器
打开influx
influxd
创建jmeter数据库
show databases;
create database jmeter;
show databases;
use jmeter;
select * from jmeter;
exit;
退出容器
exit
四:jmeter后端监听器
打开jmeter
win+R输入cmd:输入jmeter
添加后端监听器
线程组右键添加监听器-后端监听器:选择influx的数据库,并配置服务器的ip
influx同步数据
运行前influx无数据
运行后influx有数据
查看influx数据的命令:select * from jmeter
至此,influxdb部署完成。
五:docker安装Grafana
简介
Grafana:一个监控仪表系统;grafana的数据来源可以有很多(如:Prometheus、Graphite、InfluxDB、MySQL/PostgreSQL、Microsoft SQL Serve等
查看镜像
docker search grafana
根据镜像名称拉取镜像
docker pull grafana/grafana
运行镜像并生成容器
docker run -d --name sunlin-grafana -p 3000:3000 grafana/grafana
进入grafana容器
docker exec -it sunlin-grafana bash
六:配置Grafana
前置条件
1:火山引擎总防火墙安全策略需关闭
2:服务器的防火墙需关闭
防火墙设置
systemctl status firewalld--查看状态
systemctl start firewalld--开启
systemctl stop firewalld--关闭
登录Grafana
http://192.168.0.143:3000 --内网ip
http://180.184.138.70:3000 --外网ip
默认用户名:admin
默认密码:admin
连接influxdb
1:设置--DataSource--添加InfluxDB
2:填写服务器的内网ip:http://192.168.0.143:8086 否则grafana会找不到主机地址
查看内网ip方式:ifconfig
3:填写数据库:jmeter
点击sava&test,出现如下界面则配置成功
导入jmeter模板
grafana官网:Dashboards | Grafana Labs
搜索:jmeter;下载一个influx相关的json模板
模板名称:Apache JMeter Dashboard using Core InfluxdbBackendListenerClient
download模板,或复制模板id:5496
点击grafana主页面的+,import下载好的json模板,选择influxDB,最终点击import即可,如下图所示:
导入成功后的可视化界面如下:数据与jmeter实时同步
七:监控逻辑
JMeter 通过Backend Listener 将统计出的结果实时异步发送到 InfluxDB,然后grafana去influxDB拉取数据展示出来。
八:docker安装Prometheus
简介
prometheus:天生为采集存储监控数据而生的时序数据库。prometheus通过各种Exporter采集到监控数据,然后存储进prometheus中,以供查询展示
拉取镜像
docker pull prom/prometheus
创建挂载目录
mkdir -p /opt/prometheus/{data,config,rules}
- /opt/prometheus/data目录,准备用来挂载放置prometheus的数据
- /opt/prometheus/config目录,准备用来放置prometheus的配置文件
- /opt/prometheus/rules目录,准备用来挂载放置prometheus的规则文件
授权文件夹权限
chmod -R 777 /opt/prometheus/data
chmod -R 777 /opt/prometheus/config
chmod -R 777 /opt/prometheus/rules