SuperAPI AI 工具集

huawei-cloud-cce-log-analyzer

部署与运维

查看项目

更新于 10-17 03:34

技能介绍

用途

华为云 CCE 日志分析器用于对华为云 CCE(云容器引擎)的日志进行只读查询与分析,帮助定位工作负载、审计和控制面相关问题。它也可在用户确认后管理 CCE LogConfig 与 LTS Access Config 采集规则,但不会修改工作负载、日志组、日志流、LTS 日志数据或无关云资源。

主要能力

  • Pod 日志:获取当前或上一次容器实例的 Pod 标准输出/错误输出,并可对新产生的 Pod 标准输出进行采样分析。
  • 应用日志:查询和分析采集到 LTS 的应用日志,可通过命名空间加 app_name 定位,或使用采集规则选择器。
  • 审计日志:查询保留的 Kubernetes 审计事件,并基于审计事件构建资源变更时间线。
  • 控制面日志:查询 kube-apiserver 日志以分析 API 状态码、错误和延迟;查询 kube-scheduler 日志以分析调度、绑定、抢占和领导者选举消息。
  • 采集规则管理:预览并创建或删除 CCE LogConfig 规则与 LTS Access Config 规则。

使用方式

前置条件包括 Python 3.8+、hcloud(≥ 7.2.2),以及具备所需 CCE 和 LTS 权限的凭证。Pod 标准输出和 CCE LogConfig 工具需要 kubectl 及 kubectl cce 插件访问集群;kubectl cce 插件可通过专用安装技能安装。CCE LogConfig 工具需要云原生日志插件;LTS AGENT 采集需要健康的 iCagent。审计、kube-apiserver 和 kube-scheduler 工具需要对应的 CCE 日志中心开关,工具会通过 CCE ShowClusterConfig 检查开关但不会启用它。

可通过 python3 scripts/huawei-cloud.py help 打印可用操作和必需参数,完整调用与参数细节见 references/tool-reference.md。

区域选择:优先使用当前用户请求或任务上下文中的 region=<region>;否则使用 HW_REGION_NAME;两者都没有时返回错误,要求用户提供 region 或设置 HW_REGION_NAME,不从 hcloud profile 或其他环境变量推断目标区域。

凭证:显式 --cli-access-key、--cli-secret-key 和可选 --cli-security-token 仅使用所提供的凭证,AK/SK 必须成对提供,token 需要该对凭证。它们会转发给 hcloud 和 kubectl cce,并禁用 profile 与凭证环境变量回退。--cli-project-id 或 project_id 可在需要时提供目标项目。未提供显式 CLI 凭证时,顺序为 ak/sk/project_id、本地 hcloud profile,然后是 HW_ACCESS_KEY、HW_SECRET_KEY 和 HW_PROJECT_ID。

LTS 的 start_time 和 end_time 使用 UTC 格式 YYYY-MM-DD HH:MM:SS;省略时工具会生成最近的 UTC 时间窗口。

适用场景

  • 排查某个 Pod 的标准输出或上一次容器输出。
  • 查询采集到 LTS 的应用日志,按命名空间加 app_name 或规则选择器定位。
  • 调查资源被谁更改或删除,优先使用审计日志,kube-apiserver 日志作为补充 HTTP 证据。
  • 分析 API 可用性或延迟,使用 kube-apiserver 分析中的 non_success_status_count 和 non_watch_latency。
  • 排查 Pending 或无法调度的工作负载,使用 kube-scheduler 分析。
  • 在预览并确认后创建或删除 CCE LogConfig 与 LTS Access Config 采集规则。

限制

  • 该技能为只读日志查询与分析,除经确认的采集规则创建/删除外,不修改工作负载、日志组、日志流、LTS 日志数据或无关云资源。
  • 缺少必需参数或 cluster_id 无效、不匹配、有歧义时,操作会停止并要求用户提供正确的区域和集群 ID;提供的无效 cluster_id 绝不回退为全局查询,也不猜测或自动选择集群。
  • 对于其他必需资源标识符,用户无法提供明确值时,先用只读查询工具列出候选,再请用户选择,绝不自动选择候选。
  • 应用日志查询默认 output=summary;需要完整日志条目时才使用 output=raw。
  • 共享 LTS 流中的应用日志需检查 filter_quality:exact 表示已应用索引标签,partial 或 unscoped 表示返回日志可能包含其他应用,统计仅适用于返回集合。
  • 缺少审计事件不能证明操作未发生,可能超出保留期或未投递;不要仅凭 user agent 推断操作者。
  • kube-apiserver 的 WATCH 持续时间是连接生命周期,不是普通请求处理延迟,性能结论应使用 summary.non_watch_latency。
  • kube-scheduler 的 preemption_issue 可能伴随由硬约束(如 PV 节点亲和性或 Pod 反亲和性)导致的调度失败,建议扩容前先检查受影响 Pod 和约束。
  • 所有摘要中需脱敏密钥、令牌、授权头、Cookie 和个人数据。
  • 创建或删除采集规则前必须预览并等待用户显式确认,技能不会自动创建或选择 LTS 日志组或日志流,用户必须提供选定的目标 ID。

环境变量

  • SKILL_QUALITY_ENDPOINT:可选,上报端点,默认 https://skillsapi.developer.myhuaweicloud.com/api/quality/report。
  • SKILL_QUALITY_NAME:可选,技能名称(自动检测)。
  • SKILL_QUALITY_DISABLE:可选,设为 1 可禁用上报(本地调试)。
  • SKILL_QUALITY_TIMEOUT:可选,上报超时秒数(默认 3)。