Windows + Docker + k6 + InfluxDB + Grafana

📋 目录

  1. 环境准备
  2. [Docker 配置](#Docker 配置)
  3. [k6 安装](#k6 安装)
  4. 启动服务
  5. [配置 Grafana](#配置 Grafana)
  6. [运行 k6 测试](#运行 k6 测试)
  7. 查看测试结果
  8. 常见问题
  9. 快速命令参考

环境准备

1. 安装 Docker Desktop(Windows)

  1. 下载 Docker Desktop for Windows

  2. 启动 Docker Desktop

    • 确保 Docker Desktop 正在运行
    • 在系统托盘可以看到 Docker 图标
  3. 验证 Docker 安装

    docker --version

    docker compose version

    2. 安装 k6(Windows)

方法1:使用 Chocolatey(推荐)

ll

安装 Chocolatey(如果还没有)

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

使用 Chocolatey 安装 k6

choco install k6#### 方法2:使用 Scoop

ell

安装 Scoop(如果还没有)

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

irm get.scoop.sh | iex

使用 Scoop 安装 k6

scoop install k6#### 方法3:手动安装

  1. 访问:https://k6.io/docs/getting-started/installation/
  2. 下载 Windows 版本
  3. 解压到某个目录(如 C:\k6
  4. 将目录添加到系统 PATH 环境变量
验证 k6 安装

k6 version---

Docker 配置

创建 docker-compose.yml

在项目目录下创建 docker-compose.yml 文件:

version: '3.8'

services:

influxdb:

image: influxdb:1.8

container_name: k6-influxdb

ports:

  • "8086:8086"

environment:

  • INFLUXDB_DB=k6

  • INFLUXDB_ADMIN_USER=admin

  • INFLUXDB_ADMIN_PASSWORD=admin123456

  • INFLUXDB_HTTP_AUTH_ENABLED=true

volumes:

  • influxdb-data:/var/lib/influxdb

healthcheck:

test: ["CMD", "influx", "-version"]

interval: 10s

timeout: 5s

retries: 5

grafana:

image: grafana/grafana:10.2.0

container_name: k6-grafana

ports:

  • "3000:3000"

environment:

  • GF_SECURITY_ADMIN_USER=admin

  • GF_SECURITY_ADMIN_PASSWORD=admin123456

  • GF_INSTALL_PLUGINS=

volumes:

  • grafana-data:/var/lib/grafana

depends_on:

influxdb:

condition: service_healthy

healthcheck:

test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3000/api/health || exit 1"]

interval: 10s

timeout: 5s

retries: 5

volumes:

influxdb-data:

grafana-data:### 配置说明

  • InfluxDB 1.8:使用 1.8 版本(兼容 k6)
  • 端口映射
    • InfluxDB: 8086
    • Grafana: 3000
  • 默认账号密码
    • InfluxDB: admin / admin123456
    • Grafana: admin / admin123456
  • 数据持久化:使用 Docker volumes 保存数据

启动服务

1. 启动 Docker 服务

在项目目录下执行:

启动服务(后台运行)

docker compose up -d

查看服务状态

docker compose ps

查看日志

docker compose logs -f### 2. 验证服务运行

检查 InfluxDB

l

检查容器状态

docker ps | findstr influxdb

测试连接

curl http://localhost:8086/ping#### 检查 Grafana

hell

检查容器状态

docker ps | findstr grafana

浏览器访问

http://localhost:3000### 3. 服务管理命令

启动服务

docker compose up -d

停止服务

docker compose down

重启服务

docker compose restart

查看日志

docker compose logs -f influxdb

docker compose logs -f grafana

删除所有数据(谨慎使用)

docker compose down -v---

配置 Grafana

1. 登录 Grafana

  1. 打开浏览器访问:http://localhost:3000
  2. 默认登录信息:
    • 用户名:admin
    • 密码:admin123456
  3. 首次登录会要求修改密码(可以跳过)

2. 配置 InfluxDB 数据源

步骤1:添加数据源
  1. 点击左侧菜单栏的 ⚙️ Configuration(配置图标)
  2. 选择 Data sources(数据源)
  3. 点击右上角的 Add data source(添加数据源)按钮
  4. 在搜索框中输入 InfluxDB 或直接选择 InfluxDB
步骤2:配置数据源参数

HTTP 设置:

  • URL : http://influxdb:8086
    • ⚠️ 重要:使用容器名 influxdb,不要用 localhost
    • 因为 Grafana 和 InfluxDB 在同一个 Docker 网络中

InfluxDB Details:

  • Database : k6
  • User : admin
  • Password : admin123456
  • HTTP Method : GET(默认)

Auth:

  • 保持默认设置,不需要额外配置
步骤3:保存并测试
  1. 滚动到页面底部
  2. 点击 Save & Test(保存并测试)按钮
  3. 应该看到绿色的成功提示:Data source is working

3. 导入 k6 仪表板

方法1:从 Grafana.com 导入(推荐)
  1. 点击左侧菜单栏的 📊 Dashboards(仪表板)
  2. 点击 Import(导入)
  3. Import via grafana.com 输入框中输入仪表板 ID:2587
  4. 点击 Load(加载)按钮
  5. Select a InfluxDB data source 下拉菜单中选择刚才创建的 InfluxDB 数据源
  6. 点击 Import(导入)按钮

运行 k6 测试

1. 基础测试(输出到控制台)

ershell

k6 run k6_login_test.js

2. 输出到 InfluxDB(用于 Grafana 可视化)

k6 run --out "influxdb=http://admin:admin123456@localhost:8086/k6" k6_login_test.js### 3. 压力测试(用于 pprof 分析)

k6 run --out "influxdb=http://admin:admin123456@localhost:8086/k6" k6_login_stress_test.js---

查看测试结果

1. 在 Grafana 中查看

  1. 打开浏览器访问:http://localhost:3000
  2. 登录 Grafana(admin / admin123456)
  3. 点击左侧菜单 Dashboards
  4. 选择导入的 k6 仪表板
  5. 刷新页面查看最新数据

2. 在终端查看

k6 会在终端输出详细的统计信息:

相关推荐
s42 小时前
Python安装在C盘后如何移到D盘
c语言·windows·python
qq_317620312 小时前
01:Docker 概述
运维·docker·容器·docker安装
qq_317620313 小时前
04:Docker-Compose完全指南
docker·容器编排·服务配置·依赖管理·多环境部署
我可以将你更新哟4 小时前
【docker】Dockerfile的编写
docker·容器
芒鸽4 小时前
windows上使用Lycium 交叉编译移植鸿蒙三方库指南
windows·华为·harmonyos
FL16238631294 小时前
flash_attn windows whl下载安装教程
windows·stm32·单片机
素素.陈4 小时前
根据图片中的起始位置的特殊内容将图片进行分组
java·linux·windows
❀͜͡傀儡师4 小时前
docker部署orion-ops一站式智能运维管理平台
运维·docker·容器·orion-ops
郑泰科技4 小时前
windows下启动hbase的步骤
数据库·windows·hbase