SuperAPI AI 工具集

app-service-log-analysis

部署与运维

查看项目

更新于 10-15 17:22

技能介绍

用途:在 AWS FIS 故障注入实验期间或结束后,分析应用及托管服务日志,理解应用如何响应基础设施故障,支持实时监控与事后复盘两种模式。输出语言跟随对话语言,中文输入输出中文。

主要能力:按实验目录或结果报告自动识别模式;从 expected-behavior.md 或结果报告提取受影响 AWS 服务;检测 EKS 控制面、RDS/Aurora、ElastiCache、MSK、OpenSearch 的 CloudWatch 日志是否启用;跨多集群自动发现依赖受影响服务的应用,并用服务端点校验、去重;实时模式下用 kubectl logs -f 后台采集普通容器日志,事后模式优先查询 CloudWatch Logs Insights 的 /aws/containerinsights/{CLUSTER_NAME}/application 日志组;最终生成分析报告。

使用方式:需预先配置 kubectl 与 AWS CLI,并准备或执行过 FIS 实验目录。多集群时为每个集群生成独立 kubeconfig,避免覆盖 ~/.kube/config: aws eks update-kubeconfig --name "{CLUSTER_NAME}" --region ${TARGET_REGION} --kubeconfig "${KUBECONFIG_DIR}/${CLUSTER_NAME}.kubeconfig" 后续 kubectl 命令须带 --kubeconfig 或设置 KUBECONFIG。采集日志时用 --selector 而非 deployment/xxx,并用 --container={name},不要用 --all-containers=true,以免混入 FIS 注入的临时容器日志。查询托管服务日志时,结束时间取实验结束 +3 分钟以覆盖恢复行为。

适用场景:在 EKS 集群上运行 FIS 故障实验时,实时观察应用日志与托管服务日志,或事后分析已完成实验的结果。

限制:依赖 kubectl 和 AWS CLI 权限;无法访问的集群会被跳过;只能检查已启用 CloudWatch 日志的服务,未启用的服务仅能观察应用侧影响并在报告中建议开启;事后模式如无 Container Insights,使用 kubectl logs 仅能获取当前仍在运行的 Pod 日志,实验期间终止的 Pod 日志会丢失;Secret 仅检查键名,不解码值。