feat: 内置 TDengine 时序库,自动建库建表
此前编排不含时序库,首页流量/用量图表、单卡流量历史等依赖时序数据的功能 不可用。现补上: - 新增 tdengine 服务(镜像 iotlcm/iotlcm:tdengine-3.3.6.13) 端口 6041(taosAdapter/WebSocket,应用用这个)+ 6030,数据卷 ./data/tdengine - 新增 tdengine-init 一次性服务:等 tdengine 健康后建库建表,并校验超级表存在, 缺表则以非零码退出 - 建库建表 SQL 取自生产环境 SHOW CREATE STABLE(仅结构无数据): iotlcm_daily DURATION 7d KEEP 1095d ms -> t_sim_card_usage_daily iotlcm_monthly DURATION 30d KEEP 1095d ms -> t_sim_card_usage_monthly - 三个服务的 tsdb.tdengine 配置指向 tdengine:6041(admin-svr / app-server / worker-svr) 踩坑记录:taos -f 是按行执行语句的,多行 CREATE STABLE 会报 Incomplete SQL statement,因此 SQL 必须单行;且 taos 出错时退出码仍为 0, 故 run.sh 额外做超级表校验。 已验证:初始化 4 条语句全部 Create OK、0 error;按 worker 的 INSERT 形式 (USING ... TAGS)写入成功、按 admin 的查询形式(SELECT ts,usage_mb,package_code,iccid) 可读回;整栈 15 个服务全 Up,admin-svr/openapi/sms/docs 均 200,worker 无时序库报错。
This commit is contained in:
@@ -91,6 +91,42 @@ services:
|
||||
retries: 5
|
||||
start_period: 30s
|
||||
|
||||
# 时序数据库:存流量历史(daily / monthly),worker-svr 全量同步写这里
|
||||
tdengine:
|
||||
image: 'crpi-qflrqrxoohlkkvgc.cn-chengdu.personal.cr.aliyuncs.com/iotlcm/iotlcm:tdengine-3.3.6.13'
|
||||
container_name: iotlcm-tdengine
|
||||
restart: always
|
||||
ports:
|
||||
- "${TDENGINE_PORT:-6041}:6041" # taosAdapter(WebSocket,应用用这个)
|
||||
- "${TDENGINE_NATIVE_PORT:-6030}:6030"
|
||||
environment:
|
||||
TZ: '${TZ:-Asia/Shanghai}'
|
||||
volumes:
|
||||
- ./data/tdengine/data:/var/lib/taos
|
||||
- ./data/tdengine/log:/var/log/taos
|
||||
networks:
|
||||
- iotlcm-network
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "curl -sf http://127.0.0.1:6041/-/ping || exit 1"]
|
||||
interval: 15s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 30s
|
||||
|
||||
# 建库建表:业务代码不负责建 TDengine 库表,由本服务在 tdengine 健康后执行一次
|
||||
tdengine-init:
|
||||
image: 'crpi-qflrqrxoohlkkvgc.cn-chengdu.personal.cr.aliyuncs.com/iotlcm/iotlcm:tdengine-3.3.6.13'
|
||||
container_name: iotlcm-tdengine-init
|
||||
restart: "no"
|
||||
entrypoint: ["sh", "/init/run.sh"]
|
||||
volumes:
|
||||
- ./tdengine-init:/init:ro
|
||||
depends_on:
|
||||
tdengine:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- iotlcm-network
|
||||
|
||||
consul:
|
||||
image: 'crpi-qflrqrxoohlkkvgc.cn-chengdu.personal.cr.aliyuncs.com/iotlcm/iotlcm:consul-1.22'
|
||||
container_name: iotlcm-consul
|
||||
|
||||
Reference in New Issue
Block a user