用途:验证 ama-logs 镜像变更是否保持或改善多行日志拼接行为,覆盖 Linux 与 Windows 上的 Java、Python、Go、.NET 堆栈跟踪,产出按语言、按操作系统的 A/B 对比表,比较新旧镜像的行数、最大长度及拼接与单行比例。该技能与 backdoor-deployment 互补,后者验证聚合数据量与资源消耗,本技能专门验证多行解析管线;当镜像变更可能影响日志解析(fluent-bit 升级、解析器配置修改、输出插件变更)时两者都应运行。
主要能力:应用自带的多行 configmap 使行为确定;部署覆盖四种语言、两种操作系统的八个测试 Job;通过 Helm 切换新旧镜像并记录部署时间;用 KQL 查询 ContainerLogV2 统计每语言每操作系统的行数、最大长度、拼接数与单行数;生成并排对比表并按通过标准判定。
必要用法:需确认集群名、新旧镜像标签、Helm release 名称与命名空间;从 values.yaml 派生集群资源 ID、工作区 ID 等。应用 configmap 后重启两个 daemonset,部署测试 Job,切换镜像并 helm upgrade,等待至少 12 分钟后查询。通过标准:新旧 MaxLen 完全一致;拼接比例在 ±2% 内;绝对行数不要求一致。失败时按语言和操作系统抽样检查 LogMessage,排查头部正则、续行正则或 fluent-bit 默认值变化。
限制:Windows 测试 Pod 需要 ltsc2022 节点池,不要硬编码 nodeSelector;configmap 是受控变量,整个运行期间不得更改,否则对比无效;结束时需清理测试命名空间、可选删除 configmap 并恢复 values.yaml 占位符。具体默认值、示例标签等以实际运行资料为准。