docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程

目录
  • 1、安装docker
  • 2、安装及配置influxDB
  • 3、Grafana安装及配置
  • 4、Jmeter配置及压测一个接口

背景:

在用jmeter压测接口的时候发现其原生的监控起来不是很友好,在网上查阅的时候发现结合influxDB和grafana,出来的报告很炫酷,监听结果看起来很舒服很明了。

前言:

InfluxDB:是一款用Go语言编写的开源分布式时序数据库。该数据库现在主要用于存储涉及大量的时间戳数据。 小数据量的时候还性能还不错,但是数据量大一点,性能问题就体现出来了。不过只是收集一下我几个小时测试的数据,还是足够了。要是几个月的测试数据那还是建议换其他的数据库。

时序数据库:处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。想象它就像一个sql表,其中时间是它的主键

Grafana:是一个开源软件,拥有丰富的指标仪表盘和图形编辑器,适用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。简单点说就是一套开源WEB可视化平台。

原理:

jmeter压测生成测试数据 --> 然后通过jmeter中的后端监听异步将测试数据发送到influxDB中保存起来 --> grafana通过拉取influxDB中的数据,将测试结果的相关数据展示到仪表盘中

influxdb数据库中的名词理解

influxDB中的名词 传统数据库中的概念
database 数据库
measurement 数据库中的表
points 表里面的一行数据

我是在ubuntu上部署的

1、安装docker

由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:

sudo apt-get remove docker docker-engine docker-ce docker.io

更新apt包索引:

sudo apt-get update

安装以下包以使apt可以通过HTTPS使用存储库(repository):

sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

添加Docker官方的GPG密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

使用下面的命令来设置stable存储库:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

再更新一下apt包索引:

sudo apt-get update

安装最新版本的Docker CE:

sudo apt-get install -y docker-ce

检查docker是否安装完成:

docker --version

当提示docker 版本就说明docker安装成功了

2、安装及配置influxDB

2.1 docker下安装influxDB 查看并拉取镜像

##查看镜像
docker search influx 

## 根据镜像名称拉取镜像
docker pull tutum/influxdb

运行镜像并生成容器

## -d 让服务后台运行,指令退出了,程序依旧运行
docker run -d --name jmeter-influx -p 8086:8086 tutum/influxdb

--name jmeter-influx:指定生成的容器的名称为jmeter-influx,可根据自己情况自行起名

-p 8086:8086:指定端口映射,宿主机端口 : 容器端口

tutum/influxdb :镜像名称,可根据自己情况自行起名

查看容器是否生成成功

## 查看镜像是否打成功
docker images 

## 查看容器是否启动成功
docker ps 

## 查看所有启动过的容,包括成功和失败的
docker ps -a

浏览器可访问地址:http://xxx.x.xxx.xxx:8086/ , 地址是服务器ip+映射的地址

页面提示404,但是没有无法访问即可

2.2 创建数据库

##进入Influxdb的Docker容器内
docker exec -it 容器id /bin/bash 

##打开influx
influx 

##查看数据库并创建jmeter数据库
show databases;
create database jmeter;
show databases;
use jmeter;
select * from jmeter;
exit;

3、Grafana安装及配置

3.1 docker安装grafana 查看并拉取镜像

##查看镜像
docker search grafana 

## 根据镜像名称拉取镜像
docker pull grafana/grafana

运行镜像并生成容器

## 运行镜像并生成容器
run -d --name my_grafana -p 3000:3000 grafana/grafana

3.2 Grafana中配置influxDB

浏览器通过访问网址 http://ip:端口,登录用户名和密码都为admin

成功登陆后,添加数据源,我们这里选择influxDB。我这已经创建成功了一个名为influxDB_demo的数据源了

配置前面我们创建的influxDB的jmeter数据库信息,并测试连接是否成功

至此,数据源配置成功成功了。因我已经有一个了,这个就给删除掉了

3.3 Grafana使用模板创建仪表盘

配置好了influxdb的数据源,那么就可以获取到测试数据,现在需要将获取的数据展示出来,这也是grafana图形化的作用了

官网下载jmeter对应的仪表盘模板

下载地址:https://grafana.com/grafana/dashboards

左右Data Source 选择influxDB,然后可以根据名称搜索一下jmeter就可以看到需要的插件了

grafana中导入模板

+ 号 --> import --> upload JSON file -->选择下载下来的jmeter插件,然后配置一下相关信息

name:仪表盘的名称,自己定义即可

Folder:文件夹目录,即这个仪表盘保存到哪个目录下;默认即可

DB name:前面配置的influxdb数据源

Measurement name:influxDB数据库名称

Backend send interval:间隔时间

配置好信息后,点击【import】就可以看到仪表盘页面了

4、Jmeter配置及压测一个接口

在jmeter测试的一个接口中配置一个后端监听器

配置这个监听器

Backend Listener implementation:后端监听器实现选择带有influxdb的

influxdbUrl:ip、端口和数据库名称修改为influxdb的ip和端口,以及对应数据库的名称

jmeter中运行这个接口后,查看grafana中对应仪表盘中的数据

到此这篇关于docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程的文章就介绍到这了,更多相关docker搭建可视化性能监控平台内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Docker容器可视化监控中心搭建

    概述 一个宿主机上可以运行多个容器化应用,容器化应用运行于宿主机上,我们需要知道该容器的运行情况,包括 CPU使用率.内存占用.网络状况以及磁盘空间等等一系列信息,而且这些信息随时间变化,我们称其为时序数据,本文将实操 如何搭建一个可视化的监控中心 来收集这些承载着具体应用的容器的时序信息并可视化分析与展示! 动手了,动手了... 准备镜像 adviser:负责收集容器的随时间变化的数据 influxdb:负责存储时序数据 grafana:负责分析和展示时序数据 部署Influxdb服务 可以将

  • 使用docker部署influxdb与 mongo的常用命令

    基于docker部署数据库 sudo docker pull influxdb sudo docker pull mongo sudo docker run -p 27017:27017 -v xxx:/xxx--name xxxx -d mongo:latest sudo docker run -d -p8086:8086 --name xxx influxdb:latest 初始化mongodb数据库 进入mongo镜像 配置用户 密码 mongo 127.0.0.1 use admin;

  • 借助Docker搭建JMeter+Grafana+Influxdb监控平台的详细教程

    我们都知道Jmeter提供了原生的结果查看,既然有原生的查看结果,为什么还要多此一举使用其他工具进行查看呢,除了查看内容丰富外还有最主要的原因: Jmeter提供的查看结果插件本身是比较消耗性能的,所以在正式压测中应当禁用.但是我们又需要在脚本运行时实时查看结果,这时就需要借助外在工具实现. 除此之外,在真实压测过程中还需要注意Jmeter图形化模式只适合调试使用,不要进行压测.图形化的压测方式会消耗较多的客户端性能,在压测过程中容易因为客户端问题导致内存溢出.官方也给出了提示通过命令行执行.执

  • docker安装influxdb的详细教程(性能测试)

    一.前提 1.项目已经部署好 2.docker已经安装好 二.docker安装influxdb 1.下载influxdb镜像:docker pull tutum/influxdb 1)超时报错: 2)解决办法:vim /etc/docker/daemon.json(应该只有一个key.json文件而没有daemon.json文件,如果没有daemon.json文件就直接新建就好了.) 添加阿里的镜像源: { "exec-opts": ["native.cgroupdriver

  • 详解Docker下使用Elasticsearch可视化Kibana

    Kibana 作为Elasticsearch优秀的可视化的开源分析工具,我们下面使用Docker结合进行最简单的上手演示. docker 使用教程 在这里我们使用Linux系统作为演示 系统:Fedora28 内核: uname -r 4.16.2-300.fc28.x86_64 docker版本 docker --version Docker version 18.03.0-ce, build 0520e24 安装docker-compose sudo curl -L https://gith

  • 使用Grafana 展示Docker容器的监控图表并设置邮件报警规则(图解)

    一.Docker 容器监控报警方式 接着上篇文章的记录,看到grafana的版本已经更新到4.2了,并且在4.0以后的版本中,加入了Alert Notifications 功能,这样在对容器 监控完,可以加入报警规则.根据官网介绍,报警方式也有很多种,常见的Email.Slack即时通讯.webhook等. 本篇记录的是邮件的报警设置.环境和上篇基本一致,都是在Docker 平台测试环境下,另外本篇使用的grafana容器的版本是用的 dockerhub上最新版本,该版本为grafana/gra

  • 在Ubuntu上使用Grafana监控Docker的方法

    前言 Grafana 是一个有着丰富指标的开源控制面板.在可视化大规模测量数据的时候是非常有用的.根据不同的指标数据,它提供了一个强大.优雅的来创建.分享和浏览数据的方式. 它提供了丰富多样.灵活的图形选项.此外,针对数据源(Data Source),它支持许多不同的存储后端.每个数据源都有针对特定数据源的特性和功能所定制的查询编辑器.Grafana 提供了对下述数据源的正式支持:Graphite.InfluxDB.OpenTSDB. Prometheus.Elasticsearch 和 Clo

  • docker环境下分布式运行jmeter的教程详解

    1.构建jmeter的基础镜像 dockerfile文件如下: # Use Java 8 slim JRE FROM openjdk:8-jre-slim MAINTAINER QJP # JMeter version ARG JMETER_VERSION=5.1.1 # Install few utilities RUN apt-get clean && \ apt-get update && \ apt-get -qy install \ wget \ telnet \

  • docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程

    目录 1.安装docker 2.安装及配置influxDB 3.Grafana安装及配置 4.Jmeter配置及压测一个接口 背景: 在用jmeter压测接口的时候发现其原生的监控起来不是很友好,在网上查阅的时候发现结合influxDB和grafana,出来的报告很炫酷,监听结果看起来很舒服很明了. 前言: InfluxDB:是一款用Go语言编写的开源分布式时序数据库.该数据库现在主要用于存储涉及大量的时间戳数据. 小数据量的时候还性能还不错,但是数据量大一点,性能问题就体现出来了.不过只是收集

  • Docker环境搭建Jenkins在构建任务时控制台日志出现中文乱码的问题

    一.问题描述: 在Linux环境Centos操作系统下,通过Docker下载Jenkins镜像后创建了容器,并且通过服务器IP+端口访问Jenkins地址,进行相关的配置,然后创建任务job来构建跑java+selenium自动化测试脚本,目前构建Success,唯一不足之处是打印的日志出现就了乱码,如下图: (备注:执行机就是jenkins本身,同一台机器) 二.排查Jenkins设置 Jenkins系统设置查看全局属性中语言部分 2.Jenkins详细信息(浏览器Jenkins地址后面加上/

  • Docker环境搭建的简单方法

    首先了解一下Docker是什么? Docker是一个容器引擎,可以用来部署应用.通过 Docker,可以实现快速交付,测试和部署代码,可移植性强. Docker主要包括3个基本概念: 镜像.容器.仓库 镜像:是用于创建 Docker 容器的模板,类似于我们装虚拟机的时候下载的windows或者linux系统镜像. 容器:是独立运行的一个或一组应用,是镜像运行时的实体,类似于我们在虚拟机软件上安装一个windows系统,那这个运行的系统就是一个容器.容器可以被创建.启动.停止.删除.暂停等. 仓库

  • docker 环境搭建、docker 与容器常用指令大全

    目录 一.Docker 环境搭建 1. 准备工作(已有 Linux 环境可省略) 2. 安装 Docker 3. 设置 ustc 镜像 二.Docker/容器操作命令汇总 1. Docker 操作命令 2. 镜像相关命令 3. 查看容器 4. 创建容器 5. 停止与启动容器 6. 文件挂载 7. 目录挂载 8. 查看容器 IP 地址 9. 删除容器 一.Docker 环境搭建 1. 准备工作(已有 Linux 环境可省略) 在这里我们用 VM 虚拟机 + CentOS 的环境进行 Docker

  • django项目环境搭建及在虚拟机本地创建django项目的教程

    1.Python虚拟环境创建 首先我们为什么要创建虚拟环境呢?因为不同的项目所依赖的环境不一样,他们需要不同的第三方库等等.为了避免冲突,所以我们要创建虚拟环境,在次此我用的的Linux ubuntu和pycharm. 在虚拟机上创建Python虚拟环境命令为: mkvirtualenv -p /usr/bin/python3 虚拟环境名字 (-p参数选择虚拟环境要用的Python解释器) 2.创建django项目 第一步:进入到你要创建项目的目录 cd ~/project 第二步:安装djan

  • docker环境搭建mgr集群的问题及原理

    目录 MGR概念 为何选用MGR MGR原理 单主模式 多主模式 环境准备 docker搭建MRG步骤 1.拉取mysql8镜像 2.创建docker专用网络 3.创建存储数据相关目录 4.启动3个mysql容器 4.查看已启动的容器 5.修改配置参数 6.重启3个容器 7.分别登录到各个docker容器,查看下容器的信息 安装MGR插件(3个容器内均执行) 设置数据复制账号(3个容器内均执行) 开启MGR单主模式 1.启动MGR,在主库(172.72.0.15)上执行 2.其他两个节点加入MG

  • CentOS7 Nvidia Docker环境搭建

    最近在搞tensorflow的一些东西,话说这东西是真的皮,搞不懂.但是环境还是磕磕碰碰的搭起来了 其实本来是没想到用docker的,但是就一台配置较好的服务器,还要运行公司的其他环境,vmware esxi用起来太费劲,还是算了. 环境: 系统:CentOS7 7.4 1708 显卡:Nvidia 1080Ti 下载所有需要的东东 1.docker-ce yum repo : https://download.docker.com/linux/centos/docker-ce.repo 2.n

  • 详解Centos6.5下docker 环境搭建

    一.运行docker Linux内核版本需要在3.8以上,针对centos6.5 内核为2.6的系统需要先升级内核.不然会特别卡,退出容器. 在yum的ELRepo源中,有mainline(3.13.1).long-term(3.10.28)这2个内核版本,考虑到long-term更稳定,会长期更新,所以选择这个版本. 1.查看当前版本: [root@localhost ~]# more /etc/issue CentOS release 6.5 (Final) Kernel \r on an

  • 三分钟完成 ubuntu16.04初始化,Java,maven,docker环境的部署问题

    Fast-Linux 项目地址:https://gitee.com/uitc/Fast-Linux 介绍 Linux初始化和一些常用环境的搭建是一个虽简单但费时的工作,尤其是你的Linux由于某种不可控的因素宕机了,这意味着你又要从头开始部署一遍环境,有些令人抓狂,因此我有了搭建这个Linux初始化脚本库的想法,不管小白还是大佬,只需一键运行,然后喝杯咖啡,环境便可搭建成功,岂不美滋滋? 由于个人能力有限,只能总结我碰到的环境脚本(我是Java开发,不熟悉python,c/c++等) 由于lin

随机推荐