InfluxDB

InfluxDB 简介

  • 时序性数据库
  • 适用于存储和查询大量时间序列数据
  • Go 语言编写
  • 有高性能,水平可扩展,易于使用等特点

InfluxDB 安装

  • 查询 influxdb

    1
    $ docker search influxdb
  • 下载 influxdb 镜像, 并运行容器

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 1.8 版本相对稳定
    $ docker pull influxdb:1.8
    # 运行容器 -d: 以后台模式启动,
    # -p 8083:8083: 端口号映射(将系统的8083 映射到容器的 8083 端口)
    # -p 8086:8086: 该端口映射的作用是提供 influxdb 的 http 的 api ,将jmeter的压测数据传到 influxdb 数据库
    # --name influxdb: 当前容器命名
    $ docker run -d -p 8083:8083 -p 8086:8086 --name influxdb influxdb:1.8

    # 命令二合一
    $ docker run -d -p 8083:8083 -p 8086:8086 --name influxdb influxdb:1.8
  • 进入容器

    1
    $ docker exec -it 5ff5e67a6a98 bash
  • influxdb 数据库操作

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 进入 influxdb 数据库的命令行
    $ influx
    # Connected to http://localhost:8086 version 1.8.10
    # InfluxDB shell version: 1.8.10

    # 查看默认数据库
    $ show databases;
    # name: databases
    # name
    # ----
    # _internal

    # 创建数据库
    $ create database jmeter;

InfluxDB 数据备份与还原

作用:influxdb 容器迁移或升级数据要保留

  • influxdb 数据备份

    1
    2
    3
    4
    5
    6
    7
    8
    # 获取 容器 id 或名称
    $ docker ps
    # 执行备份命令
    # docker exec -it [容器id 或名称] influxd backup -portable /backup
    $ docker exec -it 5ff5e67a6a98 influxd backup -portable /backup

    # 将备份文件复制到主机
    docker cp [容器id 或名称]:/backup /path/on/host
  • influxdb 数据还原

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # 将已有的数据文件复制到新环境的 influxdb 容器中
    $ docker cp /path/to/backup [容器id 或名称]:/backup

    # 将容器内的数据还原到数据库, 注意: database_name 必须在 influxdb 数据库中不存在才可以
    # docker exec -it [容器id 或名称] influxd restore -portable -db [database_name] /backup
    $ docker exec -it 5ff5e67a6a98 influxd restore -portable -db jmeter001 /backup

    # 进入容器验证
    $ docker exec -it [容器id 或名称] bash

    # 进入 influxdb 数据库的命令行
    $ influx
    # 查看数据库
    $ show databases;
    # 查看数据
    $ select * from jmeter001;

Grafana

Grafana 简介

官网: Grafana: The open observability platform | Grafana Labs

作用: 数据分析展示

Grafana 安装

  • 下载 Grafana 镜像, 并运行容器

    1
    2
    # 命令二合一
    $ docker run -idt --name grafana -p 3000:3000 docker.io/grafana/grafana
    • idt: 是 docker run 命令的选项
      • i 表示保持标准输入(STDIN)打开,使容器的标准输入保持可用
      • d 表示 容器在后台运行(分离模式)
      • t 表示在容器中分配一个伪终端(pseudo-TTY),以便可以与容器进行交互
  • Grafana web 访问: http://192.168.75.131:3000 (admin/admin)

  • InfluxDB 绑定

    image-20230714203935528

    image-20230714204427292

  • 配置仪表盘

    image-20230714205230471

JMeter 压测数据同步 InfluxDB

后端监听器

image-20230714212118283