Files
ai-security-xdr/haobang-security-dm/upgrade-doc/README.md
T
王绍宏 f53661931f feat(upgrade): 增加 升级脚本和部署说明
- 新增达梦数据库结构、幂等索引、统计基线及校验脚本
- 新增 Docker Kafka Retry、DLT、Replay Topic 升级脚本
- 更新生产 Compose,启用 DIRECT 并关闭旧增量捕获和投影
- 补充数据库、Kafka、应用启动及验证说明
- 增加日志和本地生成文件忽略规则
2026-08-24 15:09:36 +08:00

116 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 系统升级说明(简约版)
本目录用于把旧备份版本升级到当前版本,只需要按下面顺序操作。
## 1. 升级前
1. 备份达梦数据库,保留旧版 JAR 和配置。
2. 记录 Kafka 原始 Topic、当前正在使用的消费组和 offset。
3. 停止 `syslog-consumer-rule`、`syslog-consumer` 全部实例。
> 不要清空 Kafka,不要重置 offset,不要删除数据库历史数据。
## 2. 升级数据库
DBA 按顺序执行:
```text
database/01-schema-upgrade.sql
database/02-idempotency-indexes.sql
database/03-direct-stats-baseline.sql
database/04-verify.sql
```
执行 `03`、`04` 前,把脚本中的日期占位符全部替换为升级当天:
```text
BUSINESS_DATE -> 2026-08-24
YYYYMMDD -> 20260824
```
日期仅为示例,以实际升级日为准。任一 SQL 报错就停止,不要从头反复执行。
## 3. 升级 Kafka(Docker)
先在 Kafka 宿主机确认容器名:
```bash
docker ps --format '{{.Names}}' | grep -i kafka
```
进入本升级目录的上级目录(能够看到 `upgrade-doc`),执行:
```bash
export KAFKA_CONTAINER=kafka_ycgy-bt-kafka-1
docker exec -i \
-e KAFKA_BIN=/opt/kafka/bin \
-e BOOTSTRAP=localhost:9092 \
-e RAW_TOPIC=agent-01-syslog-topic \
"$KAFKA_CONTAINER" \
bash -s < upgrade-doc/kafka/kafka-upgrade.sh
```
如果现场容器名不同,只修改 `KAFKA_CONTAINER`。如果 Kafka 容器内的命令目录或端口不同,再调整 `KAFKA_BIN`、`BOOTSTRAP`。
执行结束出现以下内容表示成功:
```text
PASS: Kafka Topic 已创建/确认;脚本未删除 Topic,也未修改消费组 offset。
```
脚本只新增以下 5 个 Topic,不会删除 Topic,也不会修改消费组 offset:
```text
agent-01-syslog-topic.RETRY.1M
agent-01-syslog-topic.RETRY.10M
agent-01-syslog-topic.RETRY.1H
agent-01-syslog-topic.DLT
agent-01-syslog-topic.REPLAY
```
## 4. 应用配置
`syslog-consumer-rule`:
```text
SYSLOG_RAW_CONSUMER_ENABLED=true
STATS_WRITE_MODE=DIRECT
STATS_INCREMENTAL_CAPTURE_ENABLED=false
STATS_INCREMENTAL_READ_ENABLED=true
STATS_INGRESS_METADATA_ENABLED=true
SPRING_KAFKA_CONSUMER_GROUP_ID=现场原来的活动消费组
```
`syslog-consumer`:
```text
SYSLOG_RAW_CONSUMER_ENABLED=false
STATS_WRITE_MODE=DIRECT
STATS_INCREMENTAL_CAPTURE_ENABLED=false
STATS_INCREMENTAL_PROJECTION_ENABLED=false
STATS_INCREMENTAL_READ_ENABLED=true
STATS_LEGACY_FULL_SCAN_ENABLED=false
STATS_INGRESS_METADATA_ENABLED=true
```
本次升级只使用 `DIRECT`,禁止再启用以下旧模式开关:
```text
STATS_INCREMENTAL_CAPTURE_ENABLED=true
STATS_INCREMENTAL_PROJECTION_ENABLED=true
```
## 5. 启动和确认
按顺序启动:
1. `syslog-consumer`
2. 一台 `syslog-consumer-rule` 灰度实例
3. 其余 `syslog-consumer-rule` 实例
4. `syslog-serve`
确认 Kafka 消费延迟持续下降、达梦数据持续写入、Retry/DLT 没有异常增长后,升级完成。
如需回滚,只回滚应用 JAR 和配置;数据库新增表、字段、索引及 Kafka 新 Topic 保留,不要清库或重置 offset。