Skip to content

feat: bcs-bkcmdb-synchronizer日志优化及本地缓存自动清理#3835

Open
yuyudeqiu wants to merge 7 commits into
TencentBlueKing:masterfrom
yuyudeqiu:feat/cmdb-sync-log
Open

feat: bcs-bkcmdb-synchronizer日志优化及本地缓存自动清理#3835
yuyudeqiu wants to merge 7 commits into
TencentBlueKing:masterfrom
yuyudeqiu:feat/cmdb-sync-log

Conversation

@yuyudeqiu
Copy link
Copy Markdown
Contributor

概述

针对 bcs-bkcmdb-synchronizer 服务进行了一系列日志优化,减少无效日志噪音、
补全关键上下文信息,同时新增本地 SQLite 缓存的自动清理机制,提升可观测性与运维效率。

变更内容

1. SQLite / GORM 日志等级控制

  • SynchronizerConfig 中新增 SqlLogLevel 配置项,支持通过配置控制 GORM SQL 日志等级。
  • 更新 sqlite.Open / sqlite.New,接收并传递日志等级,默认屏蔽大量 SQL 查询输出。

2. 删除冗余日志

  • 删除 "Successfully converted string to int64" 等仅在成功时打印的冗余日志,
    改为只在出错时记录。

3. 黑白名单日志合并

  • synchronizer.gohandler.go 中分两行打印的 whiteList / blackList
    日志合并为一行输出,减少日志条数。

4. 完善 CMDB API 调用日志

  • internal/pkg/common 中新增泛型 Deref / Ptr 工具函数,用于安全处理指针,防止 panic。
  • 丰富 cmdb.go 各 API 方法的日志内容,补充 BizIDClusterIDNamespaceID
    PodNameRefKindIDs 等关键字段,便于快速定位问题。
  • 在调用方进一步完善 Pod 相关日志,补充 BizIDNamespaceID、Workload 引用及 Pod IP 信息。

5. Handler 日志补充集群信息

  • handler.go 关键日志中增加 clusterUidbkBizID 字段,
    确保每条消息都能追溯到具体的集群和业务。

6. 本地缓存自动清理(CleanLocalCache)

  • 新增 CleanLocalCache 配置项(环境变量:synchronizer_cleanLocalCache),支持开关控制。
  • 实现 cleanupLocalCaches 方法:扫描数据目录,删除不在当前工作列表中的孤立 .db 文件。
  • 在服务初始化及集群重新分配时触发清理,确保 Pod 缩容后不遗留脏数据。

1. remove redundant 'Successfully converted string to int64' logs
2. merge whitelist and blacklist logs into a single line in synchronizer and handler
Added clusterUid and bkBizID to various logs in handler.go to improve traceability.
- 在 internal/pkg/common 中添加泛型 Deref 和 Ptr 函数,用于安全处理指针并防止 panic。
- 完善 cmdbClient 各个方法的日志,增加 bkBizID、IDs、Kind、名称等上下文信息。
- 在日志输出和函数参数中使用 common.Deref 提升安全性。
- 注意:CreateBcsPod 和 DeleteBcsPod 目前仅记录数据条数 (data_nums),详细日志建议在调用方记录。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant