gaoshaofei

导航

 

MeterSphere安装部署

1.环境要求
操作系统: CentOS 7.x / Redhat 7.x
CPU/内存: 最低要求 4C8G ,推荐 8C16G(企业版最低配置 8C16G)
磁盘空间: 50G
2.下载安装包
请自行下载 MeterSphere 最新版本的离线安装包,并复制到目标机器的 /tmp 目录下。
安装包下载链接: https://community.fit2cloud.com/#/products/metersphere/downloads
3.解压安装包
cd /tmp
# 解压安装包
tar zxvf metersphere-offline-installer-v2.3.0.tar.gz
4.修改安装配置
cd metersphere-offline-installer-v2.3.0
vi install.conf  #如果无特殊需求可以不进行修改采用默认参数安装(首次安装可修改配置 install.conf 文件中相关配置,修改完后执行 /bin/bash install.sh 命令进行安装,已安装成功如需再修改配置参数,需要到 ${MS_BASE}/metersphere/.env 里修改,修改完后执行 msctl reload 即可重新加载配置文件)。


# 基础配置
## 安装路径, MeterSphere 配置及数据文件默认将安装在 ${MS_BASE}/metersphere 目录下
MS_BASE=/opt
## MeterSphere 使用的 docker 网络网段信息
MS_DOCKER_SUBNET=172.30.10.0/24
## 镜像前缀, MeterSphere 相关组件使用的 Docker 镜像前缀, 例如 registry.cn-qingdao.aliyuncs.com/metersphere
MS_IMAGE_PREFIX=registry.cn-qingdao.aliyuncs.com/metersphere
## 镜像标签, MeterSphere 相关组件使用的 Docker 镜像标签
MS_IMAGE_TAG=v2.3.0
## 性能测试使用的 JMeter 镜像
MS_JMETER_IMAGE=${MS_IMAGE_PREFIX}/jmeter-master:5.5-ms2-jdk11
## 安装模式 allinone | server | node-controller | selenium-hub, 其中 selenium-hub 和 node-controller 可以单独在服务器上部署作为执行机使用
MS_INSTALL_MODE=allinone
## MeterSphere 主程序的 HTTP 服务监听端口
MS_SERVER_PORT=8081
## MeterSphere Node-Controller 组件的 HTTP 服务监听端口
MS_NODE_CONTROLLER_PORT=8082
MS_NODEEXPORTER_PORT=9100

# 数据库配置
## 是否使用外部数据库
MS_EXTERNAL_MYSQL=false
## 数据库地址
MS_MYSQL_HOST=mysql
## 数据库端口
MS_MYSQL_PORT=3306
## 数据库库名
MS_MYSQL_DB=metersphere
## 数据库用户名
MS_MYSQL_USER=root
## 数据库密码
MS_MYSQL_PASSWORD=Password123@mysql

# Prometheus 配置
## 是否使用外部Prometheus
MS_EXTERNAL_PROM=false
MS_PROMETHEUS_PORT=9090

# Redis 配置
## 是否使用外部Redis
MS_EXTERNAL_REDIS=false
## Redis 端口
MS_REDIS_PORT=6379
## Redis 密码
MS_REDIS_PASSWORD=Password123@redis
## Redis地址
MS_REDIS_HOST=$(hostname -I|cut -d" " -f 1)

# Kafka 配置
## 是否使用外部 Kafka
MS_EXTERNAL_KAFKA=false
## Kafka 地址
MS_KAFKA_HOST=10.1.*.*
## Kafka 端口
MS_KAFKA_PORT=9092
## 性能测试结果数据使用的 Kafka Topic
MS_KAFKA_TOPIC=JMETER_METRICS
## 性能测试日志数据使用的 Kafka Topic
MS_KAFKA_LOG_TOPIC=JMETER_LOGS
## 性能测试定时任务通知使用的 Kafka Topic
MS_KAFKA_TEST_TOPIC=LOAD_TESTS
## 重构后性能测试结果数据使用的 Kafka Topic
MS_KAFKA_REPORT_TOPIC=JMETER_REPORTS

# UI容器配置
## 是否启动UI模块
MS_UI_ENABLED=false
## 是否启动工作台容器
MS_WORKSTATION_ENABLED=false

# minio 配置
## 是否使用外部minio
MS_EXTERNAL_MINIO=false
## minio 地址
MS_MINIO_ENDPOINT=http://minio:9000
## minio access
MS_MINIO_ACCESS_KEY=admin
## minio 密码
MS_MINIO_SECRET_KEY=Password123@minio

# 修改组件最大内存限制(v2.7以上可以在 /opt/metersphere/.env 里修改某容器服务的最大内存限制,在/opt/metersphere/ 目录下的docker-compose分别定义各自服务的最大属性值,如 api-test 的属性在 docker-compose-api-test.yml 中定义,为 MS_API_MEM_LIMIT)
MS_API_MEM_LIMIT=1073741824(默认为 1g)
数据库文件说明
#MeterSphere 使⽤ MySQL 8.0 对系统数据进⾏存储。同时 MeterSphere 对数据库部分配置项有要求,请参考下附的数据库配置,修改环境中的数据库配置文件。

[mysqld]
datadir=/var/lib/mysql

default-storage-engine=INNODB
character_set_server=utf8mb4
lower_case_table_names=1
performance_schema=off
table_open_cache=128
transaction_isolation=READ-COMMITTED
max_connections=1000
max_connect_errors=6000
max_allowed_packet=64M
innodb_file_per_table=1
innodb_buffer_pool_size=512M
innodb_flush_method=O_DIRECT
innodb_lock_wait_timeout=1800

server-id=1
log-bin=mysql-bin
expire_logs_days = 2
binlog_format=mixed

character-set-client-handshake = FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET default_collation_for_utf8mb4=utf8mb4_general_ci'

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

skip-name-resolve

[mysql]
default-character-set=utf8mb4

[mysql.server]
default-character-set=utf8mb4
5.执行安装脚本
# 进入安装包目录
cd metersphere-offline-installer-v2.3.0
# 运行安装脚本
/bin/bash install.sh

image

#等待几分钟后,使用命令 msctl status 检查服务运行情况,若各个组件都是 healthy 状态,通过浏览器访问如下页面登录 MeterSphere。

请通过以下方式访问:

URL: http://服务器IP:8081
用户名: admin
初始密码: metersphere
6.配置反向代理
#如果使用了 Nginx、HAProxy 进行反向代理配置,需要增加对 websocket 的支持。以 Nginx 为例,参考配置如下:

server {
    listen 80;
    server_name demo.metersphere.com;
    server_tokens off;
    return 301 https://$host$request_uri;
}
server {
    listen 443 ssl;
    # RSA certificate
    ssl_certificate /etc/nginx/ssl/metersphere.com/fullchain.cer; # managed by Certbot
    ssl_certificate_key /etc/nginx/ssl/metersphere.com/metersphere.com.key; # managed by Certbot
    server_name  demo.metersphere.com;
    proxy_connect_timeout       300;
    proxy_send_timeout          300;
    proxy_read_timeout          300;
    send_timeout                300;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_redirect http:// $scheme://;

    location / {
        proxy_pass http://ip:8081;
        client_max_body_size 1000m;
        #access_log off;

        # 配置 websocket 支持
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
7.node节点配置
services:
  node-controller:
    image: cr.registry.cloud.zj.gov.cn/ztb/node-controller-yace:v2.10.24-lts
    container_name: ms-node-fagflow
    environment:
      - MS_URL=http://192.168.1.44:8081  # 主控完整地址(必须)
      - NODE_NAME=pressure-node-ragflow         # 唯一名称
    ports:
      - "8082:8082"  # JMeter 节点默认端口
      - "9101:9101"  # NodeController 默认端口
    extra_hosts:
      - "***"  #测试环境代理地址
    healthcheck:
      test: ["CMD", "nc", "-zv", "localhost", "8082"]
      interval: 6s
      timeout: 5s
      retries: 50
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /tmp/jmeter-logs-1:/tmp/jmeter-logs
    deploy:
      resources:
        limits:
          cpus: '4'
          memory: 8G
    restart: always
    privileged: true

image

8.搭建过程中需要解决的问题
1.安装完成后需要在页面系统基本配置中将公网ip换成私网ip地址

image

2.子节点需要与主节点相互开放端口白名单
3.子节点需要手动拉取所需要的镜像
4.在主节点和子节点的hosts配置文件中添加  ********   每一台都要添加一行不然压测会报错
127.0.0.1  节点名   

image

5.创建资源池将子节点添加进去

image

6.执行性能测试时,无法运行测试,请检查当前站点配置如何解决?
执行性能测试过程中,node-controller 节点需要通过 系统-系统设置-系统参数设置 中配置的 当前站点 URL 下载相关文件。出现该问题时用户需要检查该配置参数,确保 node-controller 节点可以正常访问到该 URL。 URL 地址一般为通过浏览器访问 MeterSphere 的地址,例如 https://demo.metersphere.com。
posted on 2025-11-17 17:42  不懂运维的小高  阅读(0)  评论(0)    收藏  举报