一、环境要求与准备
- 注意:选用 vip 的时候要注意不能透传,因为 oms 涉及到了一个发包检测,透传的话就会出现本地到本地的情况,不能正常回包。
1.部署注意点
- 安装前请确保 OMS 社区版 Meta 库和 OMS 社区版所有部署服务器配置和启用了 NTP 服务,机器之间的时钟同步,且数据库时区和机器时区保持一致。
- 请确保 OMS 社区版部署服务器和 obproxy、OBServer 节点、OCP,以及参与迁移、同步的数据源之间的网络连通。
- OMS 社区版 V4.1.1-CE 仅支持直接部署,不支持低版本升级。
- 如果您需要 OMS 社区版收集和展示历史监控数据,请部署 InfluxDB 时序数据库,需要创建用户名密码或者关闭鉴权。
- OMS 社区版默认关闭高可用(HA)功能。如果您需要开启,可以通过在 OMS 管理控制台修改 ha.config 参数中 enable 的取值为 true 的方式启动 HA
2.前置安装组件
2.1 安装docker
部署机需要提前安装 Docker 软件,版本要求不低于 V1.13。如果 Docker 的版本低于 V1.13,会导致各服务无法启动。
bash
docker依赖iptables
apt install iptables
wget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.9.tgz
tar -zxvf docker-24.0.9.tgz
mv -f docker/* /usr/local/bin/
mkdir -p /etc/docker/
#创建 docker 配置文件
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://uvlkeb6d.mirror.aliyuncs.com"],
"data-root": "home/docker",
"max-concurrent-downloads": 10,
"exec-opts": ["native.cgroupdriver=cgroupfs"],
"storage-driver": "overlay2",
"default-address-pools":[{"base":"172.80.0.0/16","size":24}]
}
EOF
#配置 systemd 管理 docker
cat > /etc/systemd/system/docker.service <<EOF
[Unit]
Description=Docker
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd
ExecReload=/bin/kill -s HUP \$MAINPID
LimitNOFILE=102400
LimitNPROC=infinity
LimitCORE=0
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF
#启动 docker
systemctl daemon-reload && systemctl start docker && systemctl enable docker
2.2 准备数据库
用于存储 OMS 社区版的元信息,可选 Oceanbase 或者 MySQL
2.3 安装influxd
2.3.1 安装influxd
bash
sudo docker load -i influxdb_1.8.tar.gz
sudo docker run -dit -p 8086:8086 -p 14444:14444 \
-v /data:/var/lib/influxdb \
--env INFLUXDB_BIND_ADDRESS=127.0.0.1:14444 \
--env INFLUXDB_HTTP_AUTH_ENABLED=true \
--env INFLUXDB_HTTP_PING_AUTH_ENABLED=true \
--name=oms-influxdb \
influxdb:1.8
2.3.2 鉴权
bash
# 进入容器
docker exec -it ${INFLUXDB_NAME} bash
# 打开 influx 控制台
cd /usr/bin
./influx
# 创建用户并授权
create user "${USER_NAME}" with password '${PASSWORD}' with all privileges
# auth 验证
auth
# 根据提示输入用户名密码
二、安装
1.下载安装包
bash
# 下载安装包
https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oms/4.2.10_CE/oms_4.2.10-ce.tar.gz
# 切到root
sudo -i
# 加载安装包
docker load -i oms_4.2.10-ce.tar.gz
# 获取镜像的[IMAGE ID] 或 [REPOSITORY:TAG]
docker images
2.运行部署脚本
bash
# 从加载的镜像中获取部署脚本,<OMS_IMAGE>通过docker images获取
sudo docker run -d --name oms-config-tool <OMS_IMAGE> bash && sudo docker cp oms-config-tool:/root/docker_remote_deploy.sh . && sudo docker rm -f oms-config-tool
cd /root
# 执行部署脚本
bash docker_remote_deploy.sh -o <OMS 社区版容器挂载目录> -i <本机 IP 地址> -d <OMS_IMAGE>
# bash docker_remote_deploy.sh -o /data -i 192.168.1.1 -d 24fddedaf8c0
- 在多节点部署环境中,您需要申请 VIP 作为 OMS 社区版管理控制台的挂载点。同时,您需要在 VIP 网络策略上配置 8088 和 8089 端口的映射规则。
- 按需求填入对应信息
- 注意初始化的时候可以看到权限的问题,初始化sql即时报错了流程也会正常进行下去,不会中断,如果出现初始化失败的情况最好重新搭建
bash
mysql ****** -f -D 'oms_rm' < /root/omsflow/meta_init/drc_rm_schema.sql
ERROR 1227 (42501) at line 2: Access denied; you need (at least one of) the SUPER or ALTER SYSTEM privilege(s) for this operation
mysql ****** -f -D 'oms_cm' < /root/omsflow/meta_init/drc_cm_schema.sql
ERROR 1061 (42000) at line 1596: Duplicate key name 'uniq_module_range'
ERROR 1061 (42000) at line 1663: Duplicate key name 'uk_old_task_name'
# 如果遇见问题重新部署则可以删除容器重新部署,没有问题不需要执行下面的操作
# 停止容器
docker stop bc9660e9e825
# 删除容器
docker rm bc9660e9e825
三、登陆及初步配置
1.登陆控制台
控制台的默认端口是8089,例:http://192.168.1.1:8089/
用户首次登录 OMS 社区版控制台时,需要设置 admin 和 root 初始密码,该密码 admin 和 root 用户通用。对于非首次登录的用户,跳过该步骤即可。
2.创建数据源
根据不同的组件创建不同的数据源
四、关联OCP并配置告警
1.新建ocp

2.配置告警通道为ocp
五、Q & A
Q:用 admin 登陆界面的时候发现数据源和同步任务都不在了
A:用 root 用户查看时存在,OMS 的管控平台各个用户信息不通,要记得自己创建任务的用户
Q:如何更改元数据库或者链接时序数据库的相关配置
A:进入docker容器后修改/home/admin/conf/config.yaml文件,然后执行初始化脚本sh /root/docker_init.sh,整个过程不会对已有的任务产生影响,因为配置文件只是用来做一次初始化,不是每次都去读配置文件,所以更改配置文件重启是不起作用的。即使时序数据库等配置有误也有可能不影响 oms 初始化,所以初始化时一定要保证所有配置文件的信息和数据库权限的正确性