神策环境检测工具使用说明

最后更新于:2019-01-02 15:23:46

1. 概述

神策检测工具主要用于检测服务器是否满足部署神策分析的要求。

其主要检测项目有:

  • 硬件:cpu 核数、内存大小、磁盘容量、磁盘读写速率等;
  • 系统:发行版本、内核版本、防火墙设置、当前运行的服务等;
  • 其他:集群之间带宽、是否可正常访问 ntp 服务器、python3 标准的 paramiko 库是否可用等;

2. 执行检测

注:若检测集群,只需在其中一台机器上下载、配置并运行即可

2.1 获取检测程序

wget http://update.sensorsdata.cn/release/devops/sa-env_checker-1.1.7.tar.gz

2.2 解压并进入程序目录

tar zxf sa-env_checker-1.1.7.tar.gz && cd sa-env_checker-1.1.7

2.3 复制配置模板并编辑配置

cp env.conf.example env.conf
vim env.conf

配置参数说明:

注:所有符号均需为半角,即英文输入法下的符号

  • ips: 内网 ip 地址,多个以逗号分隔,不可为空
  • hosts: 正式部署时要修改为的主机名,多个以逗号分隔,需与 ips 一一对应,不可为空
  • ssh_port: ssh 端口,默认为 22,不可为空
  • password: root 密码,需所有节点密码相同,若做了互信可随便填写
  • meta_disk_path: 元数据盘挂载点,目前只支持一块,做了 raid 的 ssd 磁盘,不可为空
  • data_disk_paths: 数据盘挂载点,多块以逗号分隔,不做 raid 的裸盘,不可为空
  • ntp: ntp server 地址,不能连接外网的客户必须填写,默认检测 0.cn.pool.ntp.org

私有单机版的元数据盘和数据盘是同一块磁盘,所以 meta_disk_path 和 data_disk_paths 均需填写该磁盘挂载点

2.4 执行检测

  • 检测全部

    ./checker env.conf
    
  • 可并行检测 n 块数据盘以缩短检测时间,但需满足 1 <= n <= 6,且 n <= 数据盘数量。例如同时检测 3 块数据盘:

    ./checker env.conf --disk_thread 3
    

2.5 查看检测结果

  • 全部合格输出结果

    Check done, you can view the results via https://www.json.cn
    Get the results by:
      cat /data/sa-env_checker-1.1.7/runtime/all_results.json
      cat /data/sa-env_checker-1.1.7/runtime/all_unmatch.json
    
    Congratulations~ All matched
    
  • 有不合格项目输出结果

    Check done, you can view the results via https://www.json.cn
    Get the results by:
      cat /data/sa-env_checker-1.1.7/runtime/all_results.json
      cat /data/sa-env_checker-1.1.7/runtime/all_unmatch.json
    
    10.10.10.10.unmatch:
      cpu count 4 < 16
    

2.6 提交检测结果

所有检测结果及日志都保存在运行目录的 runtime/ 下,需把 all_results.jsonall_unmatch.json 提交给神策的同学

  • 检测结果的绝对路径如 2.5 检测结果输出中的:

    /data/sa-env_checker-1.1.7/runtime/all_results.json
    /data/sa-env_checker-1.1.7/runtime/all_unmatch.json
    

3. 其他使用方法

  • 获取使用帮助

    ./checker -h
    
  • 不分发包直接检测 用于第n次检测时使用 n > 1

    ./checker env.conf -s
    
  • 只检测集群间带宽

    ./checker env.conf --only_bw
    
  • 不检测集群间带宽

    ./checker env.conf --no_bw
    
  • 只检测磁盘

    ./checker env.conf --only_disks
    
  • 不检测磁盘

    ./checker env.conf --no_disks
    
  • 不检测当前运行服务

    ./checker env.conf --no_services
    
  • 不检测 ntp server 等服务的可连接性,用于服务器未配置dns时检测

    ./checker env.conf --no_connections