metersphere安装部署

确认安装服务器是否有MySQL、redis、kafka等软件,端口是否被占用,容器的名称是否重复。

1、metersphere简介

  • MeterSphere 是一站式的开源持续测试平台,遵循 GPL v3 开源许可协议,涵盖测试管理、接口测试、UI 测试和性能测试等功能,全面兼容 JMeter、Selenium 等主流开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量的软件交付。

2、安装部署

  • 下载在线安装包

     wget https://cdn0-download-offline-installer.fit2cloud.com/metersphere/release/metersphere-offline-installer-v2.10.9-lts.tar.gz
    
  • 解压在线安装包

    tar -zxvf metersphere-offline-installer-v2.10.9-lts.tar.gz
    
  • 进入解压目录

    cd metersphere-offline-installer-v2.10.9-lts.tar.gz
    
  • 配置安装参数,参数说明见下文

    vi install.conf
    
  • 执行install.sh安装脚本

    /bin/bash install.sh
    
  • 执行完安装脚本后,会在线拉取镜像,等提示安装完成后,使用 msctl status 查看服务各个组件状态

    msctl status
    

3、访问

  • 请通过以下方式访问

    URL: http://服务器IP:8081
    用户名: admin
    初始密码: metersphere
    

4、配置说明

  • 如果无特殊需求可以不进行修改采用默认参数安装(首次安装可修改配置 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)
    

5、数据库配置文件说明

  • 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
    
  • 请参考文档中的建库语句创建 MeterSphere 使用的数据库,metersphere-server 服务启动时会自动在配置的库中创建所需的表结构及初始化数据

      CREATE DATABASE `metersphere` /*!40100 DEFAULT CHARACTER SET utf8mb4 */
    

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、如何卸载

  • 先停止正在运行的 MeterSphere 容器,然后再删除容器,最后删除应用数据目录以及 docker 环境等,具体操作见如下命令

  • 先停止正在运行的 MeterSphere 容器,然后再删除容器

    msctl uninstall
    
  • 卸载应用数据

    rm -rf /opt/metersphere
    rm -rf /usr/local/bin/msctl
    rm -rf ~/.msrc
    
  • 卸载 docker 和 docker-compose

    systemctl stop docker
    rm -rf /usr/bin/docker*
    rm -rf /usr/bin/containerd*
    rm -rf /usr/bin/ctr
    rm -rf /usr/bin/runc
    rm -rf /etc/systemd/system/docker.service
    systemctl daemon-reload
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容