test
  1. 
    

    环境准备

    
    

    准备机器a

    
    
    1. 建议操作系统 :麒麟 V10 ARM 架构
    2. 建议机器配置
      • 推荐配置:建议 16 核 48G,硬盘 200G 以上
    3. 机器数量:3 台(标准部署,不含日志模块、报表模块、APM 模块)
    4. 选择第一台为中控机进行安装部署操作,使用 root 账号登录。
    5. 在每台机器上创建一个 /data 目录(建议挂载独立的磁盘或者分区) mkdir /data
    6. 已准备服务器信息如下:
    
    
    IP 主机名 Mac地址 YUM源(在线/离线) 备注
    10.10.24.129 control 00:50:56:93:58:a6 在线 crontrol_ip(中控机)
    10.10.24.130 appo 00:50:56:93:e8:61 在线 appo_ip(APPO服务器)
    10.10.24.131 appt 00:50:56:93:b6:3a 在线 appt_ip(APPT服务器)
    10.10.24.132 log 00:50:56:93:b6:4b 在线 log_ip(日志服务器,需包含日志模块)
    
    

    准备介质包(上传至中控机)

    
    
    序号 介质包名 文件名 上传路径 备注
    1 平台介质包 cwbkee_product-V4.0.3-ky10_ARM-Canway.tar.gz /data/ 提单走产品包申请流程,申请版本需为 4.0.3 且环境架构为 ky10_ARM
    2 监控平台包 XXX项目-Jerko-20240128143056.tar.gz /data/ 如上按需提单申请
    3 证书文件介质包 ssl_certificates.tgz /data/ 平台证书
    4 weops 部署工具包 weops-release-4.15LTS-kylinarm.tar.gz /data/ weops-release-4.15LTS-kylinarm.tar.gz
    5 角色初始化文件 weops-release-roledist-kylinarm.xlsx /data/cwbk_install/ 角色初始化文件下载
    
    

    准备基础环境

    
    
    1. 安装常用源以及工具
      # 操作主机:每台机器
      
      # 麒麟系统可能自带安装了 mysql 和 docker,与蓝鲸使用不相同,需要提前卸载
      yum -y remove docker mysql* mariadb*
      
      mkdir /data/
      
      sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
      sed -i '/Banner/s/^/#/g' /etc/ssh/sshd_config
      systemctl restart sshd
      
      # 禁用 motd 提示,否则 init topo 会失败
      rm -f /etc/motd
      rm -f /etc/motd.d/*
      
      systemctl stop firewalld
      systemctl disable firewalld
      setenforce 0
    2. 配置主机免密
      # 操作主机:中控机
      ssh-keygen   # 一直按回车确认
      ssh-copy-id xx.xx.xx.xx  # 分别添加各台服务器IP,包括本机
    3. 解压安装包
      # 操作主机:中控机
      
      ################# 方法一、脚本解压 #################
      # 解压平台介质包
      # 注意:需要将平台介质包和监控平台包下载到/data,两个包的命令规范如下:
      # 平台介质包:cwbkee_product-V4.0.3-ky10_ARM-bytnbyz.tar.gz
      # 监控平台包:weops-jkpt.tar.gz

      wget https://wedoc.canway.net/imgs/patch_arm_kylin.tar.gz
      tar xf patch_arm_kylin.tar.gz -C /data
      cd /data/patch-arm-kylin
      ./unzip_file.sh

      ################# 方法二、手动解压 #################
      # 解压平台介质包 tar xf cwbkee_product-V4.0.3-ky10_ARM-Canway.tar.gz -C /data/ tar xf /data/src/cwbk_install-V4.0.3-ky10-arm64-rc4-ky10-arm64.tgz -C /data/ tar xf /data/weops-release-4.15LTS-kylinarm.tar.gz -C /data/ tar xf weops_deployment_arm_LTS_*.tar.gz -C /data/ # 解压监控平台部署包 tar xf XXX项目-Jerko-20240128143056.tar.gz -C /data/src/ # 移动 saas 包至路径 /data/src/official_saas/ cd /data/src/ mv bk_monitorv3_V3.6.3656.tar.gz official_saas/ # 修改监控平台后台包后缀为 tar.gz 适配脚本,请注意替换为实际文件 mv bkmonitorv3_ee-V3.6.3709-arm-cw.tgz bkmonitorv3_ee-V3.6.3709-arm-cw.tar.gz
    4. 准备角色分布文件
      # 操作主机:中控机
      
      # 删除默认 xlsx 角色表
      rm -f /data/cwbk_install/*.xlsx
      
      # 打开角色分布文件 weops-release-roledist-kylinarm.xlsx,按照提示填写内容,填写完成后重新上传到 /data/cwbk_install/ 目录
      # 注意事项:
      1)修改 ip、主机名称、资源信息等,excel 不要留有空格
      2)Gse 和 redis 在同一主机,nginx 和 paas 在同一主机,如有特殊需要可修改角色分布,如无特殊需要不要修改
      3)作业平台不可带有下划线
      4)请勿提前使用 https,初始化步骤尚未兼容 https 的场景,可以部署完成后再根据文档变更
    
    

    开始部署平台

    
    

    平台初始化

    
    
    # 操作主机:中控机
    
    # 初始化
    cd /data/cwbk_install/
    ./cwbk_install -init  # 上述初始化步骤没有错误的情况下,会询问是否进入 Screen 模式进行安装蓝鲸,直接输入 N 即可
    
    # patch for arm
    tar xf /data/patch_for_arm-*.tar.gz -C /data/install/
    cd /data/install/
    ./patch_for_arm.sh init_platform
    
    # 自定义二级域名,非必要不执行,会覆盖之前的域名设置(可选)
    # 执行前请使用实际的二级域名 (如:weops.com) 和安装目录进行替换
    cd /data/install
    ./configure -d {{ BK_DOMAIN }}
    
    # 自定义平台登录密码
    cat > /data/install/bin/03-userdef/usermgr.env << EOF
    BK_PAAS_ADMIN_PASSWORD=WeOps2024
    EOF
    
    

    平台部署

    
    
    • 部署蓝鲸基础平台
      # 操作主机:中控机
      # 操作路径:/data/install/
      
      # 一键部署(蓝鲸基础平台)
      cd /data/cwbk_install/
      ./cwbk_install -install
      
      # 部署完成后,有可选选项需要配置,按指引依次输入即可
      配置数据库备份 + 日志清除策略:y
      配置 iptables 策略:y
      一键为蓝鲸安装 agent:y
      一键部署 monstache 开启全文检索:n
    • 配置安装目录软连接
      # 操作主机:中控机
      # 操作路径:/data/install/
      
      cd /data/install/
      pcmd -m all 'ln -s /data/bkee /data/bkce'
    
    

    检查相关服务状态

    
    
    # 操作主机:中控机
    # 操作路径:/data/install/
    
    cd /data/install/
    echo bkssm bkiam usermgr paas cmdb gse job consul bkmonitorv3 | xargs -n 1 ./bkcli check
    
    

    验证访问 paas 平台

    
    

    DNS 配置

    
    
    如暂时未将weops域名添加至 DNS 服务器解析,可直接添加 hosts 记录访问 weops。
    
    
    1. Windows 配置
    
    
    用文本编辑器(如 Notepad++ )打开文件:
    
    
    C:WindowsSystem32driversetchosts
    
    
    将以下内容复制到上述文件内,并将以下 IP 需更换为本机浏览器可以访问的 IP,然后保存。
    
    
    # 操作主机:客户端
    
    # 将以下内容复制到上述文件内,注意将以下IP和域名需更换为实际三台蓝鲸IP和域名,然后保存。
    10.0.0.2 paas.weops.com cmdb.weops.com job.weops.com jobapi.weops.com weops.weops.com itsm.weops.com
    10.0.0.3 nodeman.weops.com
    
    
    注意:10.0.0.2 为 nginx 模块所在的机器,10.0.0.3 为 nodeman 模块所在的机器,查询方式如下:
    
    
    # 操作主机:中控机
    # 操作路径:/data/install/
    
    # 查询模块所分布在机器的方式:
    grep -E "nginx|nodeman" /data/install/install.config
    
    

    获取管理员账户及密码

    
    
    # 操作主机:任意一台机器
    
    # 执行下述命令,获取管理员账号和密码 
    grep -E "BK_PAAS_ADMIN_USERNAME|BK_PAAS_ADMIN_PASSWORD" /data/install/bin/04-final/usermgr.env
    
    

    开始部署 WeOps

    
    

    WeOps 依赖组件安装 (8mins)

    
    
    使用 weops_install.sh 脚本可自动完成一些配置项和组件安装,具体可查看附录内容。
    
    
    注意:仅可执行一次
    
    
    # 操作主机:中控机
    # 操作路径:/data/weops
    
    # 安装依赖组件
    source /data/install/utils.fc  # 若提示无此文件或文件夹,请重新 ssh 登录
    cd /data/weops/install
    bash weops_install.sh components
    
    # patch for arm
    cd /data/install/
    ./patch_for_arm.sh all
    
    

    WeOps 依赖配置

    
    
    更新 saas
    
    
    # 操作主机:中控机
    
    # 重新部署依赖 saas
    ./bk_install saas-o bk_nodeman
    ./bk_install saas-o bk_monitorv3
    
    

    WeOps 集合saas部署

    
    
    执行脚本 install_saas.sh 安装 对应的 app_code
    
    
    例如:./install_saas.sh monitorcenter_saas
    
    
    1) 脚本会对已经安装好app_code 放入标记文件 .step_canway_saas ,再次执行如果app_code 已在该文件中,就会跳过安装,如需要重新安装,编辑该文件去掉对应的app_code 即可。
    
    
    # 操作主机:中控机
    # 操作路径:/data/install/
    
    # 解压 SaaS 安装包到指定目录,SaaS 包请以实际为准
    cd /data/
    tar -xf 嘉为科技-weops-Jerko-20210714105936.tar.gz -C /data/src/official_saas
    
    # 命令执行如下,注意请按以下顺序正确安装saas
    cd /data/weops/install
    ./install_saas.sh monitorcenter_saas  # 部署统一监控中心 (2mins)
    ./install_saas.sh cw_uac_saas  # 部署统一告警中心 V2.0 (2mins)
    ./install_saas.sh bk_itsm  # 部署 itsm (4mins)
    ./install_saas.sh bk_sops  # 部署标准运维,若有提示,输入 y 部署即可 (3mins)
    ./install_saas.sh ops-digital_saas  # 部署数字化运营中心(按需部署)(3mins)
    ./install_saas.sh weops_saas  # 部署 weops4.x (2mins)
    
    # 部署了大屏和 weops_saas 4.15.3013+ 的客户需更新大屏 sql,没部署大屏的客户不用执行
    gunzip -c /data/install/yum/ops-digital_saas.20241017.tgz|mysql --login-path=mysql-default
    
    

    WeOps 基础配置 (3mins)

    
    

    WeOps 优化配置

    
    
    使用 weops_install.sh 脚本可自动完成一些优化配置项(如日志自动清理)
    
    
    # 操作主机:中控机
    # 操作路径:/data/weops
    
    # 配置 WeOps 基础设置
    source /data/install/utils.fc  # 若提示无此文件或文件夹,请重新 ssh 登录
    cd /data/weops/install
    bash weops_install.sh settings
    
    

    WeOps 服务初始化

    
    
    WeOps服务初始化工具说明请查看附录
    
    
    # 操作主机:中控机
    
    # 操作路径:/data/weops/init_weops_service
    cd /data/weops/init_weops_service
    python main.py --cmdb --monitor --itsm
    
    

    初始化权限策略和snmp模版

    
    
    注意:若部署未包含监控模块,最后一个动作会报错,可无视
    
    
    # 操作主机:appo
    docker exec -i $(docker ps -aq -f name=weops_saas*) bash -c "export BK_FILE_PATH=/data/app/code/conf/saas_priv.txt;cd /data/app/code;python manage.py init_role --update;python manage.py init_snmp_template;python manage.py build_role_trees;python manage.py update_network_vault_credential;python manage.py reload_casbin_policy --delete"
    
    # 初始化内置模型,在浏览器使用有 admin 权限的用户访问
    ${domain}/o/weops_saas/resource/objects/migrate
    
    

    WeOps 主机安装Agent

    
    
    • 操作路径:WeOps -> 管理 -> 节点管理 -> Agent -> 安装 Agent -> 远程安装
    • 操作目标:安装 WeOps 平台的服务器的主机 Agent
    
    

    后台初始化配置 (40mins)

    
    

    监控平台配置

    
    
    1. 打开监控平台:
      • 浏览器打开开发者中心(网址:http://{paas.domain.com}/saas/list
      • 打开监控平台:开发者中心-> S-mart 应用 -> 点击 <监控平台> -> 正式地址
    
    

    全局配置

    
    
    1. 操作路径:监控平台 -> 导航栏 -> 点击<设置> 图标 -> 全局设置
    2. 操作方式:在<全局设置>页面 -> 消息通知渠道 -> 仅勾选语音
    
    

    告警策略

    
    
    1. 操作路径:监控平台 -> 配置 -> 告警策略
    2. 操作方式:在<告警策略>页面 -> 点击<启/停> -> 关闭所有默认策略
    
    

    告警中心配置

    
    
    1. 打开告警中心:
      • 浏览器打开开发者中心(网址:http://{paas.domain.com}/saas/list
      • 打开告警中心:开发者中心 -> S-mart 应用 -> 点击 <WeOps告警中心> -> 正式地址
    
    

    告警转工单配置

    
    
    1. 操作路径:统一告警中心 -> 功能配置 -> 工单系统
    
    
    2.操作方式:<工单系统>页面 -> 蓝鲸ITSM -> 点击<更多>按钮(三个竖点图标) -> 流程管理 -> 点击<新建>按钮 -> 选择流程<告警转工单> -> 点击<确定>按钮
    
    

    日志模块部署

    
    
    日志模块依赖 docker 和 docker-compose。且消耗资源较多,建议独立部署在一台 8C 32G 的服务器上。
    
    
    日志采集用 kafka:建议在日志服务器或独立服务器部署,kafka 用于收集 filebeat,packetbeat,auditbeat 等beat 的日志数据。(蓝鲸内置的 kafka 版本过低,无法正常使用,必须单独搭建,最低配置可以到 2c 4g)
    
    
    推荐配置:
    
    
    • 操作系统 :麒麟 V10 ARM 架构
    • 机器配置 :8 核 32GB,硬盘 500GB 以上且支持扩容(POC 测试可降低至 200GB)
    
    

    准备工作

    
    

    准备介质包

    
    
    序号 介质包名 文件名称 上传路径 备注
    1 日志模块部署介质包 weops-release-log-arm.tar.gz /data/ docker-compose-arm、依赖组件镜像包
    
    

    日志模块依赖组件

    
    
    序号 组件名称 文件名称 镜像名称 镜像tag 镜像描述
    1 mongo mongo-arm.tgz docker-bkrepo.cwoa.net/ce1b09/weops-docker/mongo 4.2.0-arm mongodb-元数据存储
    2 opensearch opensearch-arm.tgz docker-bkrepo.cwoa.net/ce1b09/weops-docker/opensearch opensearch_1-arm 新版日志数据存储
    3 datainsight datainsight-arm.tgz docker-bkrepo.cwoa.net/ce1b09/weops-docker/datainsight 20240528-arm 日志服务主体
    4 kafka kafka-arm.tgz docker-bkrepo.cwoa.net/ce1b09/weops-docker/bitnami/kafka 3.6-arm 日志采集组件
    
    

    同步环境变量

    
    
    特殊说明:若部署服务器已同步蓝鲸环境变量,则跳过,无需执行
    
    
    # 操作主机:中控机
    
    cd /data/install
    
    # 增加日志模块角色配置,假设日志服务器IP:10.0.1.1,以实际为准
    vim install.config
    # 增加行:
    10.0.1.1 weopslog
    
    ./bkcli install bkenv
    ./bkcli sync common
    scp ~/.bkrc ~/.bashrc root@10.0.1.1:~/ 
    
    # 同步后,注释增加的行后再次同步
    vim install.config
    # 注释行:
    # 10.0.1.1 weopslog
    
    ./bkcli install bkenv
    ./bkcli sync common
    
    

    部署 docker-ce

    
    
    特殊说明:若部署服务器已安装docker,则跳过,无需执行
    
    
    # 操作主机:日志服务器
    
    # 配置 Blueking yum源
    scp ${crontrol_ip}:/etc/yum.repos.d/Blueking.repo /etc/yum.repos.d/
    
    # 安装 docker-ce,版本:20.10.23
    yum install -y docker-ce
    
    # 创建 docker 配置文件daemon.json
    mkdir /etc/docker
    cp /data/weops-log/docker_conf/daemon.json /etc/docker/daemon.json
    
    # 启动 docker 并设置开机自启
    systemctl start docker
    systemctl enable docker
    
    # 查看 docker 版本,版本号:20.10.23
    docker version
    
    

    部署 docker-compose

    
    
    # 操作主机:日志服务器
    
    cp /data/weops-log/docker-compose-arm /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    
    

    导入镜像

    
    
    # 操作主机:日志服务器
    
    # 自动导入镜像包
    /data/weops-log/install/load_images.sh
    
    

    部署日志

    
    
    # 操作主机:日志服务器
    
    # 生成配置文件
    /data/weops-log/configs/log_config.sh
    
    # 启动容器
    docker-compose -f /data/weops/datainsight/docker-compose.yaml up -d
    
    

    部署日志采集kafka

    
    
    # 操作主机:日志服务器
    
    # 生成配置文件
    /data/weops-log/configs/kafka_config.sh
    
    # 启动容器
    cd /data/kafka && docker-compose up -d
    
    

    配置 sidecar 插件包

    
    
    # 操作主机:APPO
    
    # 解压 sidecar 插件包
    cd /data/bkce/paas_agent/apps/projects/weops_saas/code/weops_saas/
    tar xf sidecar_install.tar.gz -C /data/bkce/public/paas_agent/share/weops_saas/
    tar xf sidecar.tar.gz -C /data/bkce/public/paas_agent/share/weops_saas/
    
    ---
    
    # 说明:默认的 sidecar 插件包纳管对象为 x86 架构,如对象为 arm 架构的服务器,请纳管日志节点后,自行替换 arm 架构的 sidecar 和 filbeat 的二进制文件
    
    # 文件目录:/data/install/yum/sidecar、/data/install/yum/filebeat
    
    # 如需其他 arm 架构采集器,请自行前往官网下载:https://www.elastic.co/downloads/beats
    
    

    日志模块初始化配置

    
    

    SaaS 环境变量说明

    
    
    SaaS ID 变量名(默认自带BKAPP前缀) 变量值($开头值均为平台变量,需手动获取) 备注
    weops_saas GRAYLOG_URL http://${log_ip}:9000 log_ip暂无环境变量,需视日志部署情况而定,示例:http://192.168.1.10:9000
    weops_saas GRAYLOG_AUTH YWRtaW46ZGF0YWluc2lnaHQteA== 默认账号密码 admin:datainsight-x 的base64编码
    weops_saas ALARM_SEND_REST_API <REST API 告警源:url> 需要在告警中心开启restful告警源,手动复制curl段中的url
    weops_saas ALARM_SEND_SECRET <REST API 告警源:secret> 需要在告警中心开启restful告警源,手动复制curl段中的secret
    weops_saas GRAYLOG_API_TOKEN <令牌 sidecar:token> 需要在datainsight页面生成
    weops_saas LOG_OUTPUT_HOST ${log_kafka_ip}:9092 日志采集kafka broker,log_kafka_ip为单独部署的日志采集kafka地址,示例:192.168.1.10:9092
    
    

    日志模块后台页面访问

    
    

    访问代理配置

    
    
    • 假设日志服务器:192.168.1.10
    
    
    # 操作主机:nginx
    
    # 创建 datainsight.conf 配置文件
    cd /usr/local/openresty/nginx/conf/conf.d/
    touch datainsight.conf
    
    # 编辑 datainsight.conf 配置文件,配置文件内容如下所示
    vim datainsight.conf
    
    # 验证 nginx 配置文件,返回successful为正常
    /usr/local/openresty/nginx/sbin/nginx -t
    
    # 若返回正常,则重载 nginx 配置
    systemctl restart openresty.service
    
    
    • datainsight.conf 配置文件
      server {
        listen 80;
        server_name datainsight.weops.net;
      
        location / {
            proxy_pass http://192.168.1.10:9000;
        }
      }
    
    

    页面访问

    
    
    • host 域名解析配置:<$BK_NGINX_IP> datainsight.weops.net
    • 访问url: http://datainsight.weops.net
    • 用户名:admin
    • 默认密码:datainsight-x
    
    

    REST API 告警源

    
    
    • 告警中心开启RESTful api告警源,获取url和key
      image-20230605150551395
    
    

    sidecar令牌 tocken

    
    
    • 操作路径:datainsight -> 系统 -> 用户 -> 系统管理员 -> Administrator -> 点击<编辑令牌> -> 输入<令牌名称:sidecar> -> 点击<创建令牌>
    • GRAYLOG_API_TOKEN : 令牌sidecar的tocken
    
    
    image-20230707153158047
    
    
     
    
    
    image-20230707153237195
    
    
     
    
    
    image-20230707153413308
    
    
     
    
    

    报表模块部署

    
    
    报表模块由 trino 和 datart 两个组件服务组成,两者都依赖蓝鲸的 mysql,建议在蓝鲸服务器上部署(或在独立部署的服务器部署,要求已同步蓝鲸的环境变量)
    
    
    • trino :负责集成蓝鲸数据源
    • datart:负责提供报表展示
    
    

    准备工作

    
    

    准备介质包

    
    
    序号 介质包名 文件名 上传路径 备注
    1 报表模块部署介质包 weops-release-report-arm.tar.gz /data/ 包含:datart_data.sql、安装脚本、依赖组件镜像包
    
    

    报表模块依赖组件

    
    
    序号 组件名称 文件名称 镜像名称 镜像tag 镜像描述
    1 trino trino-arm.tgz docker-bkrepo.cwoa.net/ce1b09/weops-docker/trino 422-datainsight-arm64 trino 容器
    2 datart datart-arm.tgz docker-bkrepo.cwoa.net/ce1b09/weops-docker/datart latest-arm datart 容器
    
    

    报表模块部署先决条件

    
    
    1. 推荐配置:
      • 操作系统 :麒麟 V10 ARM 架构
      • 机器配置 :8 核 32GB,硬盘 200GB 以上且支持扩容
    2. docker-ce 安装 特殊说明:若部署服务器已安装 docker,则跳过,无需执行
      # 操作主机:报表服务器
      
      # 配置 Blueking yum源
      scp ${crontrol_ip}:/etc/yum.repos.d/Blueking.repo /etc/yum.repos.d/
      
      # 安装 docker-ce,版本:20.10.23
      yum install -y docker-ce
      
      # 创建 docker 配置文件daemon.json
      mkdir /etc/docker
      cp /data/weops-report/docker_conf/daemon.json /etc/docker/daemon.json
      
      # 启动 docker 并设置开机自启
      systemctl start docker
      systemctl enable docker
      
      # 查看 docker 版本,版本号:20.10.23
      docker version
    3. 同步蓝鲸环境变量 特殊说明:若部署服务器已同步蓝鲸环境变量,则跳过,无需执行
      # 操作主机:中控机
      
      cd /data/install
      
      # 增加报表角色配置,假设报表服务器IP:10.0.0.1,以实际为准
      vim install.config
      # 增加行:
      10.0.0.1 trino
      
      ./bkcli install bkenv
      ./bkcli sync common
      scp ~/.bkrc ~/.bashrc root@10.0.0.1:~/ 
      
      # 同步后,注释增加的行后再次同步
      vim install.config
      # 注释行:
      # 10.0.0.1 trino
      
      ./bkcli install bkenv
      ./bkcli sync common
    4. 检查docker配置项-iptables 特殊说明:若部署报表服务器已启用docker的iptables配置,则跳过,无需执行
      # 操作主机:appt (报表服务器)
      
      # 确认docker是否开启iptables,以下配置需为true
      vim /etc/docker/daemon.json
      
      # 配置项:  
      "iptables": true
      
      # 重启docker生效
      systemctl restart docker
    
    

    导入镜像

    
    
    # 操作主机:报表服务器
    
    cd /data/
    tar xf weops-report.tgz -C /data/
    
    cd /data/weops-report/images
    docker load < datart_latest-arm.tgz
    docker load < trino_422-datainsight-arm64.tgz
    
    

    部署报表

    
    
    • 配置 mysql 注意:若部署 datart 的主机和 mysql 为同一台机,则${datart主机ip}应为容器IP:172.172.172.10
      # 操作主机:mysql
      
      # 创建mysql数据库
      mysql --login-path=default-root << EOF
      create database datart
      EOF
      
      # 授权容器网段访问mysql
      # 注意:若部署datart的主机和mysql为同一台机,则${datart主机ip}应为容器IP:172.172.172.10`
      mysql --login-path=default-root << EOF
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'${datart主机ip}' IDENTIFIED BY "${BK_MYSQL_ADMIN_PASSWORD}" WITH GRANT OPTION;
      FLUSH PRIVILEGES;
      EOF
    • 部署报表服务
      • 安装 trino 组件
      # 操作主机:报表服务器
      
      # 加载环境变量
      source /data/install/utils.fc
      
      cd /data/weops-report/
      
      # 如日志服务器IP为192.168.5.10,# 若无日志模块,则默认填写中控机的IP
      # 示例执行命令如下:
      # ./trino_install.sh 192.168.5.10
      
      ./trino_install.sh <日志服务器IP or 中控机IP>
      • 安装 datart 组件
      # 操作主机:报表服务器
      
      # 加载环境变量
      source /data/install/utils.fc
      
      cd /data/weops-report/
      
      # 安装 datart 组件
      ./datart_install.sh
    • 初始化datart内置仪表盘 先决条件:报表部署工具包中复制 datart_data_20240201.tgz 文件至mysql服务器
      # 操作主机:mysql
      gunzip -c datart_data_20240201.tgz | mysql --login-path=default-root --database datart
    • 初始化内置仪表盘代理
      # 操作主机:报表服务器
      # 特殊说明:需从datart容器中复制static到paas服务器/data/bkce/open_paas/paas/
      source /data/install/utils.fc
      docker cp datart:/apps/static/static /tmp/static
      scp -r /tmp/static $BK_PAAS_IP:/data/bkce/open_paas/paas/
      # 操作主机:paas
      
      systemctl restart bk-paas-paas
    • 初始化datart mysql数据源
      # 操作主机:mysql
      
      #!/bin/bash
      source /data/install/utils.fc
      
      curl -s 'http://172.172.172.10:8080/api/v1/users/login' -i 
      -H 'Content-Type: application/json' 
      -d '{"username":"admin","password":"WeOps2023"}' 
      --compressed 
      --insecure > /tmp/datart.login
      
      export AUTH=$(grep Authorization /tmp/datart.login)
      
      cat << EOF > /tmp/payload.json
      {
      "config": "{"dbType":"MYSQL","url":"jdbc:mysql://${BK_MYSQL_IP}:3306","user":"root","password":"${BK_MYSQL_ADMIN_PASSWORD}","driverClass":"com.mysql.cj.jdbc.Driver","serverAggregate":false,"enableSpecialSQL":false,"enableSyncSchemas":true,"syncInterval":"60","properties":{}}",
      "createBy": "1e7f1b3aac2247008e5e0e9be07da599",
      "createTime": "2023-05-30 17:33:24",
      "id": "e866c2e14c0b4aaf956110a63f7d5ba6",
      "index": null,
      "isFolder": false,
      "name": "mysql",
      "orgId": "b044363c75a34df8b40e26c1a61e5dde",
      "parentId": null,
      "permission": null,
      "schemaUpdateDate": "2023-06-05 10:42:16",
      "status": 1,
      "type": "JDBC",
      "updateBy": "1e7f1b3aac2247008e5e0e9be07da599",
      "updateTime": "2023-05-30 17:42:01",
      "deleteLoading": false
      }
      EOF
      curl -s 'http://172.172.172.10:8080/api/v1/sources/e866c2e14c0b4aaf956110a63f7d5ba6' 
      -X 'PUT' 
      -H "${AUTH}" 
      -H 'Content-Type: application/json' 
      --data-binary @/tmp/payload.json 
      --compressed 
      --insecure && rm -vf /tmp/payload.json /tmp/datart.login
    • 注册报表服务到consul
      # 操作主机:中控机
      
      #注册报表服务到consul
      #!/bin/bash
      consul kv put bkapps/upstreams/prod/datart "["${datart主机ip}:8083"]"
      
      # 重启nginx
      cd /data/install
      ./bkcli restart nginx
    • 访问代理配置
      • 假设报表服务器:192.168.1.10
      # 操作主机:nginx
      
      # 创建 datart.conf 配置文件
      cd /usr/local/openresty/nginx/conf/conf.d/
      touch datart.conf
      
      # 编辑 datart.conf 配置文件,配置文件内容如下所示
      vim datart.conf
      
      # 验证 nginx 配置文件,返回successful为正常
      /usr/local/openresty/nginx/sbin/nginx -t
      
      # 若返回正常,则重载 nginx 配置
      systemctl restart openresty.service
      • datart.conf 配置文件
      server {
          listen 80;
          server_name datart.weops.net;
      
          location / {
              proxy_pass http://192.168.1.10:8083;
          }
      }

      APM模块部署

    
    
    推荐配置:
    
    
    • 操作系统 :Kylin V10 ARM
    • 机器配置 :8 核 32GB,硬盘 200G 以上
    • 部署方式:建议独立部署在一台服务器上
    
    

    准备工作

    
    

    准备介质包

    
    
    序号 介质包名 文件名称 上传路径 备注
    1 APM模块部署介质包 weops-release-apm-arm.tar.gz /data/ tempo、alertmanager、agent、prometheus 镜像包
    
    

    APM模块依赖组件

    
    
    序号 组件名称 文件名称 镜像名称 镜像tag 镜像描述
    1 tempo tempo-latest-arm.tgz docker-bkrepo.cwoa.net/ce1b09/weops-docker/tempo latest-arm APM依赖存储组件
    2 alertmanager alertmanager-0.26.0-arm.tgz docker-bkrepo.cwoa.net/ce1b09/weops-docker/alertmanager 0.26.0-arm APM告警组件
    3 agent agent-latest-arm.tgz docker-bkrepo.cwoa.net/ce1b09/weops-docker/agent lastest-arm APM依赖数据接收
    4 prometheus prometheus-4.7-arm.tgz docker-bkrepo.cwoa.net/ce1b09/weops-docker/prometheus 4.7-arm APM专用prometheus
    
    

    同步环境变量

    
    
    特殊说明:若部署服务器已同步蓝鲸环境变量,则跳过,无需执行
    
    
    # 操作主机:中控机
    
    cd /data/install
    
    # 增加 APM 模块角色配置,假设 APM 服务器IP:10.0.1.1,以实际为准
    vim install.config
    # 增加行:
    10.0.1.1 weopsapm
    
    ./bkcli install bkenv
    ./bkcli sync common
    scp ~/.bkrc ~/.bashrc root@10.0.1.1:~/ 
    
    # 同步后,注释增加的行后再次同步
    vim install.config
    # 注释行:
    # 10.0.1.1 weopsapm
    
    ./bkcli install bkenv
    ./bkcli sync common
    
    

    部署 docker-ce

    
    
    特殊说明:若部署服务器已安装docker,则跳过,无需执行
    
    
    # 操作主机:APM服务器
    
    # 解压 APM 模块部署包
    tar zvf /data/weops-release-apm.tar.gz -C /data/
    
    # 配置 Blueking yum源
    scp ${crontrol_ip}:/etc/yum.repos.d/Blueking.repo /etc/yum.repos.d/
    
    # 安装 docker-ce,版本:20.10.23
    yum install -y docker-ce
    
    # 创建 docker 配置文件daemon.json
    mkdir /etc/docker
    cp /data/weops-apm/docker_conf/daemon.json /etc/docker/daemon.json
    
    # 启动 docker 并设置开机自启
    systemctl start docker
    systemctl enable docker
    
    # 查看 docker 版本,版本号:20.10.23
    docker version
    
    

    部署 docker-compose

    
    
    # 操作主机:APM 服务器
    
    cp /data/weops-apm/docker-compose-arm /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    
    

    导入镜像

    
    
    # 操作主机:APM 服务器
    
    # 自动导入镜像包
    /data/weops-apm/install/load_images.sh
    
    

    部署APM

    
    
    # 操作主机:APM 服务器
    
    # 生成配置文件
    /data/weops-apm/configs/apm_config.sh
    
    # 启动容器
    docker-compose -f /data/weops/tempo/docker-compose.yaml up -d
    
    

    APM 模块初始化配置

    
    

    SaaS 环境变量更新

    
    
    操作路径:登录开发者中心
    
    
    
    

    附录

    
    

    平台组件配置性能优化

    
    

    mysql配置优化-内存

    
    
    1. 配置修改
      # 操作主机:mysql
      sed -i '/^innodb_buffer_pool_size=/cinnodb_buffer_pool_size=2G' /etc/mysql/default.my.cnf
    2. 配置生效
      # 操作主机:中控机
      cd /data/install
      ./bkcli restart mysql
    
    

    es配置优化-内存

    
    
    1. 配置修改
      # 操作主机:es7
      sed -i "s/^## -Xmx.*g/-Xmx2g/g" /etc/elasticsearch/jvm.options
      sed -i "s/^## -Xms.*g/-Xms2g/g" /etc/elasticsearch/jvm.options
    2. 配置生效
      # 操作主机:中控机
      cd /data/install
      ./bkcli restart es7
    
    

    mongo 配置优化-内存

    
    
    1. 配置修改
      # 操作主机:mongodb
      
      # 修改wiredTiger默认内存大小为4G
      if ! grep -q "cacheSizeGB: 4" "/etc/mongod.conf"; then
         echo "WiredTiger cache size has been set to 4."
         log "限制mongodb的wiredTiger内存 /etc/mongod.conf"
         sed -i "s@#  engine:@  wiredTiger:n    engineConfig:n      cacheSizeGB: 4@" /etc/mongod.conf
      else
         echo "WiredTiger cache size is already set to 4."
         echo "WiredTiger cache size has been set to 4."
      fi
    2. 配置生效
      # 操作主机:中控机
      cd /data/install
      ./bkcli restart mongodb
    
    
     
    
    

    报错处理

    
    

    监控的主机打不开

    
    
    sed -i '/CC v2/a ("/v2/cc/search_host/", {"comp_codename": "generic.v2.cc.search_host"}),' /data/src/open_paas/esb/components/esb_conf.py
    cd /data/install
    source utils.fc
    for i in $( tr -s ',' ' ' <<< $BK_PAAS_IP_COMMA);do rsync -a /data/src/open_paas/esb/components/esb_conf.py $i:/data/bkce/open_paas/esb/components/esb_conf.py; done
    ./bkcli restart paas esb
    
    
     
    
    
暂无评论

发送评论 编辑评论


				
上一篇
正在准备导出…