MeterSphere自動化測試框架安裝步驟


  1. 准備一台不小於 8 G 內存且可以訪問互聯網的 64 位 Linux 主機;
  2. 以 root 用戶執行如下命令一鍵安裝 MeterSphere。
    curl -sSL https://github.com/metersphere/metersphere/releases/latest/download/quick_start.sh | bash

    安裝腳本

  3. # 基礎配置
    ## 安裝路徑, 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=dev
    ## 性能測試使用的 JMeter 鏡像
    MS_JMETER_IMAGE=${MS_IMAGE_PREFIX}/jmeter-master:5.4.1-ms3-jdk8
    ## 安裝模式
    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
    
    # Kafka 配置
    ## 是否使用外部 Kafka
    MS_EXTERNAL_KAFKA=false
    ## Kafka 地址
    MS_KAFKA_EXT_HOST=$(hostname -I|cut -d" " -f 1)
    MS_KAFKA_HOST=kafka
    ## Kafka 端口
    MS_KAFKA_EXT_PORT=19092
    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
    
    # TCP MOCK 端口范圍
    MS_TCP_MOCK_PORT=10000-10010

    如果使用外部數據庫進行安裝,推薦使用 MySQL 5.7 版本。同時 MeterSphere 對數據庫部分配置項有要求,請參考下附的數據庫配置,修改環境中的數據庫配置文件

  4. [mysqld]
    default-storage-engine=INNODB
    lower_case_table_names=1
    table_open_cache=128
    max_connections=2000
    max_connect_errors=6000
    innodb_file_per_table=1
    innodb_buffer_pool_size=1G
    max_allowed_packet=64M
    transaction_isolation=READ-COMMITTED
    innodb_flush_method=O_DIRECT
    innodb_lock_wait_timeout=1800
    innodb_flush_log_at_trx_commit=0
    sync_binlog=0
    sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
    skip-name-resolve

    請參考文檔中的建庫語句創建 MeterSphere 使用的數據庫,metersphere-server 服務啟動時會自動在配置的庫中創建所需的表結構及初始化數據。

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

    安裝腳本默認使用 /opt/metersphere 目錄作為安裝目錄,MeterSphere 的配置文件、數據及日志等均存放在該安裝目錄

  6. /opt/metersphere/
    ├── bin                                         #-- 安裝過程中需要加載到容器中的腳本
    ├── compose_files                               #-- 根據不同的安裝模式,保存需要使用到的 compose 文件信息
    ├── conf                                        #-- MeterSphere 各組件及數據庫等中間件的配置文件
    ├── data                                        #-- MeterSphere 各組件及數據庫等中間件的數據持久化目錄
    ├── docker-compose-base.yml                     #-- MeterSphere 基礎 Docker Compose 文件,定義了網絡等基礎信息 
    ├── docker-compose-kafka.yml                    #-- MeterSphere 自帶的 Kafka 所需的 Docker Compose 文件
    ├── docker-compose-mysql.yml                    #-- MeterSphere 自帶的 MySQL 所需的 Docker Compose 文件
    ├── docker-compose-node-controller.yml          #-- MeterSphere Node-Controller 組件所需的 Docker 文件
    ├── docker-compose-server.yml                   #-- MeterSphere Server 及 Data-Streaming 所需的 Docker Compose 文件
    ├── logs                                        #-- MeterSphere 各組件的日志文件持久化目錄
    └── version                                     #-- 安裝包對應的 MeterSphere 版本信息

    執行安裝腳本

# 進入安裝包目錄
cd metersphere-release-v1.0.3
# 運行安裝腳本
/bin/bash install.sh
# 等待安裝腳本執行完成后,查看 MeterSphere 狀態
msctl status

安裝成功后,通過瀏覽器訪問如下頁面登錄 MeterSphere

地址: http://目標服務器IP地址:8081
用戶名: admin
密碼: metersphere

配置反向代理

如果需要使用 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://;
    # 配置 websocket 支持
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";


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

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM