TDSQL(PG版本)天巡系统安装与配置

发布时间 2023-12-31 15:40:21作者: chy_cug

参考文档:https://doc.weixin.qq.com/doc/w3_AFwAeQZ3ACcJA0Z3mpITzyrQuymvJ?scode=AJEAIQdfAAoexq79g0AFwAeQZ3ACc

安装前准备:
1、需要下载安装包,包括:tbase-update.zip;
2、天巡可以安装在虚拟机上面;
3、需要提前确认如下信息:
LTC编码(安灯局点库)
tbase的jid:局点id
tdmq的jid:局点id

一、实施部署
1.天巡base部署(已部署忽略)
1.1 上传天巡base部署包
●上传物料
将物料包中的tianxun_{部署包版本}_{系统架构}_for-base_{时间戳}_release.tar.gz上传至天巡部署服务器的/data/tianxun/instal目录(固定目录)
mkdir -p /data/tianxun/install

注:由于包有1G多,需要提前准备上传节点
●解压部署包
cd /data/tianxun/install
tar -zxf tianxun_{天巡版本}_{架构}_for-{产品}_{时间}_release.tar.gz


1.2 初始化安装环境
●基础信息配置确认
- 默认使用的网络名称为:tianxun
- 默认不指定子网创建容器网络(若操作系统为Tlinux,请修改脚本并指定具体的子网地址)
- 默认使用的docker数据目录为:/data/docker
- 默认使用的天巡机器的ssh的账号为:root
- 默认使用的天巡机器的ssh的端口为:22
以上信息如果有特殊需求请修改install_base_with_pack_release.sh脚本中对应参数的值

●执行以下命令初始化安装环境:
cd /data/tianxun/install
bash install_base_with_pack_release.sh ${ltc_code} ${tianxun_port}

${ltc_code}必填,LTC编码(安灯局点库),可以联系腾讯侧项目负责人获取确认
${tianxun_port}非必填,默认80,天巡对外访问的端口

●部署ip确认
初始化脚本会自动获取当前机器的ip作为部署ip,若当前机器存在多个ip,会需要手动在命令行确认ip,填写对应的编号回车后脚本开始运行

单个ip无需确认脚本会自动运行

●初始化完成
没有报错的情况下,会基于配置的参数,安装docker、docker-compose以及完成部署包
基础配置;同时会起一个tianxun-deploy容器用于部署,可通过命令查看容器是否正常运行
docker ps |grep tianxun-deploy


1.3 执行部署
●执行以下命令开始部署:
docker exec -it tianxun-deploy bash
bash run.sh

注:整个部署过程会持续10分钟左右,若中断报错退出,请提工单到天巡队列

1.4 部署完成确认
●部署脚本运行完成之后,若输出的结果中failed和ignored的统计结果不为0,则说明部署脚本没有正常运行完

●若部署脚本正常运行完成,会输出天巡的部署登录信息

●执行以下命令退出容器,然后确认tianxun*服务是否都正常运行
exit # 在容器内时才执行
docker ps -a |grep -v Up

命令执行后没有任何未正常启动的tianxun*容器,则说明部署正常

2.巡检对接
2.1 准备文件
在独立版天巡部署节点新建目录 /tmp/tbase_tmp ,将资源包 tbase-update.zip 上传到该文件夹中
mkdir -p /tmp/tbase_tmp
cd /tmp/tbase_tmp
unzip tbase-update.zip

2.2 挂载项更新
由于新的tbase天巡巡检内容需要部分依赖,需要把挂载项进行更新
cd /data/tianxun/application/components/base_{txid}
mkdir etc
docker cp `docker ps |grep hwcheck|awk '{print $1}'`:/app/plugins etc/
vim docker-compose.yml
#在“tianxun-hwcheck”下增加一行,注意用空格进行左对齐
#- /data/tianxun/application/components/base_{txid}/etc/plugins:/app/plugins
#修改完成之后,重建hwcheck容器
docker-compose stop tianxun-hwcheck
docker-compose rm -f tianxun-hwcheck
docker-compose up -d tianxun-hwcheck
注意:部署版本不同etc目录路径有差异
部署版本 ≥ 2.2.11完整路径:/data/tianxun/application/components/base_{txid}/etc 部署版本<2.2.11完整路径:/data/{天巡版本}/components/base/etc

拷贝plugins中的文件(因为独立版天巡环境中有tbase的部分代码,所以下面操作了备份,然后再复制新的文件)
cd /data/tianxun/application/components/base_{txid}/etc/plugins
mkdir tbase-bak
mv credis.py credis_interface.py credis_sql.py dmesg-hwcheck.py tbase.py tbase-bak/
cp /tmp/tbase_tmp/tbase-update/plugins/* ./

拷贝tbase-file的文件到新建的tbase目录
mkdir -p /data/tianxun/application/conf/hwcheck/tasks/{tbase的jid}/tbase
#部署版本<2.2.11 目录/data/{天巡版本}/conf/hwcheck/tasks/{jid}
cd /data/tianxun/application/conf/hwcheck/tasks/{tbase的jid}/tbase
cp -r /tmp/tbase_tmp/tbase-update/standby/tianxun-hwcheck/tasks/tbase-file/ ./


2.3 填写tbase环境信息
编辑tbase.iplist文件
vim /data/tianxun/application/conf/hwcheck/tasks/{tbase的jid}/tbase/tbase-file/tbase.iplist
#部署版本<2.2.11目录 /data/{天巡版本}/conf/hwcheck/tasks/{jid}/tbase/tbase-file/tbase.iplist

根据tbase环境的信息填写;不存在的组件,不用填ip信息;独立版环境,则不需要填写tcs的信息
注:如果confdb、oss_controls,cn_gtm_nodes等有多个,则需要把所有的IP地址都填写上

2.4 脚本更新 ---如果报python版本错误,则需要重新安装python2
运行tianxun_update_tbase.py脚本,自动更新tbase的yaml文件
cd /data/tianxun/application/conf/hwcheck/tasks/{tbase的jid}/tbase/tbase-file
#部署版本<2.2.11目录 /data/{天巡版本}/conf/hwcheck/tasks/{jid}/tbase/
python tianxun_update_tbase.py


若想了解tianxun_update_tbase.py脚本的相关逻辑,可参考tbase-file目录下的README文件
*对tbase的服务器做免密处理(使天巡的服务器能够免密登录tbase的服务器)
免密方式一: ---免密方式一、免密方式二 这两个方式只需要执行一个即可,建议使用第一种方式
docker exec -ti `docker ps |grep hwcheck | awk '{print $1}'` /bin/bash
#登陆巡检容器
cd /app
python run_script.py add-key --from-tasks tasks/{tdmq的jid}

免密方式二:
天巡节点执行 ssh-copy-id -p {port} root@{ip}

2.5 验证巡检对接
对接完成后,默认天巡每小时会自动执行一次全量的巡检。
若需要手动触发可进入tianxun-hwcheck容器内,手动执行以下命令:
docker exec -it $(docker ps |grep hwcheck|awk '{print $1}') bash

python tianxun.py -T tasks/{jid} -p tbase -t 10

配置自动巡检频率

 

安装完成后,可以得到天巡的前端地址,登录这个地址,即可进入天巡系统。