环境准备
准备机器
建议操作系统 :麒麟 V10 ARM 架构
建议机器配置
- 推荐配置:
建议 16 核 48G,硬盘 200G 以上
- 推荐配置:
机器数量:3 台(标准部署,不含日志模块、报表模块、APM 模块)
选择第一台为中控机进行安装部署操作,使用 root 账号登录。
在每台机器上创建一个 /data 目录(建议挂载独立的磁盘或者分区)
mkdir /data
已准备服务器信息如下:
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/ | 角色初始化文件下载 |
准备基础环境
安装常用源以及工具
# 操作主机:每台机器
# 麒麟系统可能自带安装了 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配置主机免密
# 操作主机:中控机
ssh-keygen # 一直按回车确认
ssh-copy-id xx.xx.xx.xx # 分别添加各台服务器IP,包括本机解压安装包
# 操作主机:中控机
# 解压平台介质包
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准备角色分布文件
# 操作主机:中控机
# 删除默认 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。
- 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)
监控平台配置
- 打开监控平台:
- 浏览器打开开发者中心(网址:http://{paas.domain.com}/saas/list)
- 打开监控平台:开发者中心-> S-mart 应用 -> 点击 <监控平台> -> 正式地址
全局配置
- 操作路径:监控平台 -> 导航栏 -> 点击<设置> 图标 -> 全局设置
- 操作方式:在<全局设置>页面 -> 消息通知渠道 -> 仅勾选语音
告警策略
- 操作路径:监控平台 -> 配置 -> 告警策略
- 操作方式:在<告警策略>页面 -> 点击<启/停> -> 关闭所有默认策略
告警中心配置
打开告警中心:
浏览器打开开发者中心(网址: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
sidecar令牌 tocken
- 操作路径:datainsight -> 系统 -> 用户 -> 系统管理员 -> Administrator -> 点击<编辑令牌> -> 输入<令牌名称:sidecar> -> 点击<创建令牌>
- GRAYLOG_API_TOKEN : 令牌sidecar的tocken



报表模块部署
报表模块由 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 容器 |
报表模块部署先决条件
推荐配置:
操作系统 :麒麟 V10 ARM 架构
机器配置 :8 核 32GB,硬盘 200GB 以上且支持扩容
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同步蓝鲸环境变量
特殊说明:若部署服务器已同步蓝鲸环境变量,则跳过,无需执行
# 操作主机:中控机
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检查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 环境变量更新
操作路径:登录开发者中心
配置对应 SaaS 的环境变量
SaaS ID 变量名(默认自带BKAPP前缀) 变量值($开头的值视实际情况而定,需手动获取) weops_saas APM_PROMETHEUS_URL http://${apm服务的ip}:9094 weops_saas APM_URL http://${apm服务的ip}:3101 weops_saas OTLP_ENDPOINT http://${apm服务的ip}:4317 cw_uac_saas BKAPP_APM_PROMETHEUS_QUERY_RANGE_URL http://${apm服务的ip}:9094/api/v1/query_range 重新部署 SaaS 以生效环境变量:告警中心SaaS、WeOps SaaS
附录
平台组件配置性能优化
mysql配置优化-内存
配置修改
# 操作主机:mysql
sed -i '/^innodb_buffer_pool_size=/cinnodb_buffer_pool_size=2G' /etc/mysql/default.my.cnf配置生效
# 操作主机:中控机
cd /data/install
./bkcli restart mysql
es配置优化-内存
配置修改
# 操作主机:es7
sed -i "s/^## -Xmx.*g/-Xmx2g/g" /etc/elasticsearch/jvm.options
sed -i "s/^## -Xms.*g/-Xms2g/g" /etc/elasticsearch/jvm.options配置生效
# 操作主机:中控机
cd /data/install
./bkcli restart es7
mongo 配置优化-内存
配置修改
# 操作主机: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配置生效
# 操作主机:中控机
cd /data/install
./bkcli restart mongodb