Docker部署Jmeter+Grafana+InfluxDB

发布时间 2023-07-14 16:27:12作者: 琳达的博客
 
 

一:服务器配置

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模板

搜索: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