feat(syslog): 为三个生产模块增加启动版本标识
- syslog-serve 增加 SYSLOG_BUILD_READY 启动日志 - syslog-consumer 增加 SYSLOG_BUILD_READY 启动日志 - 更新 syslog-consumer-rule 代码修订标识至 v63 - 输出模块名、代码修订号、运行环境及关键非敏感配置 - 支持通过容器日志快速确认实际部署的 JAR 版本 - 补充 syslog-serve 和 syslog-consumer 启动日志测试 - 不输出数据库密码、API 凭据等敏感信息 - 不修改 Maven POM 配置
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
# v6 设备级采集模式增量升级说明
|
||||
|
||||
## 默认采集总开关
|
||||
|
||||
新版默认同时开启 Syslog 服务和设备 API 拉取调度:
|
||||
|
||||
```text
|
||||
SYSLOG_SERVER_ENABLED=true
|
||||
DEVICE_API_ENABLED=true
|
||||
```
|
||||
|
||||
`DEVICE_DEVICE.COLLECTION_MODE` 默认 `BOTH`,因此既有设备升级后同时允许 Syslog 和 API。具体 API
|
||||
任务仍需完成校验并通过 `resume` 启用;全局开关为 true 不会自动启动暂停任务。
|
||||
|
||||
## 必须执行的数据库脚本
|
||||
|
||||
新版 `syslog-serve` 会直接查询 `device_device.collection_mode`。因此必须在启动新版 JAR 前,由 DBA 使用 `syslog-serve` 实际连接的 Schema 按顺序执行:
|
||||
|
||||
```text
|
||||
database/01-device-collection-mode-precheck.sql
|
||||
database/02-device-collection-mode-upgrade.sql
|
||||
database/03-device-collection-mode-verify.sql
|
||||
```
|
||||
|
||||
执行规则:
|
||||
|
||||
1. 先备份 `DEVICE_DEVICE`,保存预检结果。
|
||||
2. `01` 中字段和约束查询首次升级时必须返回 0 行。
|
||||
3. `02` 只能成功执行一次;中途报错时不要整份重跑,应先检查已落库对象。
|
||||
4. `03` 必须确认字段为 `VARCHAR2(16) DEFAULT 'BOTH' NOT NULL`、约束已启用、非法数据数为 0。
|
||||
5. `03` 验证完成后即可启动新版 JAR。先配置下游微步 API JSON 泛化规则,再写入微步凭据、创建并验证 `WEIBU_LOG` 新任务;确认规则已关联设备后才能恢复任务并设置具体设备模式。
|
||||
|
||||
默认 `BOTH` 用于兼容现有设备;升级 SQL 不硬编码任何设备 ID。
|
||||
|
||||
本次 v6 强制数据库结构变更只有 `DEVICE_DEVICE.COLLECTION_MODE`。微步 API 复用现有
|
||||
`DEVICE_COLLECT_API_*` 基础表,不在本次升级中新增或修改这些表。新版微步适配器只支持
|
||||
`WEIBU_LOG`(`/api/v1/log/searchBySql`);开发阶段的 `WEIBU_INCIDENT` 从未作为现场版本发布,因此不需要现场数据迁移脚本。
|
||||
|
||||
## 现场设置示例
|
||||
|
||||
```bash
|
||||
docker exec syslog-serve-dm curl -fsS -X PUT \
|
||||
'http://127.0.0.1:8189/syslogserve/api/devices/40/collection-mode' \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{"collectionMode":"API_ONLY"}'
|
||||
|
||||
docker exec syslog-serve-dm curl -fsS \
|
||||
'http://127.0.0.1:8189/syslogserve/api/devices/40'
|
||||
```
|
||||
|
||||
GET 响应必须包含 `"collectionMode":"API_ONLY"`。设置后,设备 40 的微步 API 拉取任务继续运行,IP `10.56.171.164` 的 TCP/UDP Syslog 不得进入 WAL。
|
||||
|
||||
多实例部署时,收到 PUT 请求的实例立即清理三层缓存并刷新入站快照;其他实例最迟在现有设备快照 TTL 后生效。
|
||||
|
||||
微步凭据与任务、设备 `API_ONLY`、缓存清理、验收和回退已合并为一份现场手册:
|
||||
|
||||
- [api/README.md](./api/README.md)
|
||||
|
||||
按现场要求,[api/weibu-40-credential.json](./api/weibu-40-credential.json) 已填写设备 40 的真实微步 ApiKey/Secret;[api/weibu-40-task.json](./api/weibu-40-task.json) 已填写设备、地址和拉取参数,首次采集时间由现场命令生成。凭据文件包含明文生产秘密,必须限制整个 v6 目录的权限和分发范围;禁止把文件内容复制到工单、聊天或执行日志。
|
||||
Reference in New Issue
Block a user