feat: 新增设备 API 拉取采集及配套处理能力
- 接入 NDRServer 告警和流量日志,支持凭据与任务管理 - 支持分页拉取、窗口拆分、调度优先级及 WAL 持久化后推进断点 - 增加迟到告警规则重放,优化多条泛化规则选择和事件时间处理 - 补充回归测试、数据库升级脚本及部署文档
This commit is contained in:
@@ -1,115 +1,14 @@
|
||||
# 系统升级说明(简约版)
|
||||
# 升级资料
|
||||
|
||||
本目录用于把旧备份版本升级到当前版本,只需要按下面顺序操作。
|
||||
升级资料按版本保存:
|
||||
|
||||
## 1. 升级前
|
||||
| 目录 | 说明 |
|
||||
| --- | --- |
|
||||
| `v1/` | 原有升级资料 |
|
||||
| `v2/` | 从提交 `b61ec2e` 升级到当前源码所需的增量资料 |
|
||||
|
||||
1. 备份达梦数据库,保留旧版 JAR 和配置。
|
||||
2. 记录 Kafka 原始 Topic、当前正在使用的消费组和 offset。
|
||||
3. 停止 `syslog-consumer-rule`、`syslog-consumer` 全部实例。
|
||||
现场如果已经执行过 v1,只执行 v2;新环境按 v1、v2 的顺序执行。
|
||||
|
||||
> 不要清空 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。
|
||||
v2 的执行步骤见 [v2/README.md](./v2/README.md)。
|
||||
|
||||
Reference in New Issue
Block a user