Google Cloud 日志查询生成器
将自然语言需求转换为符合规范的 Google Cloud Logging 查询。
技能仅生成查询文本,不执行查询、不要求凭据或修改资源,权限和外部影响较小;但未说明日志中可能包含敏感数据的处理、脱敏或最小披露策略,也未提供回滚或用户确认机制,因此扣分。
规则、示例和参考资料存在不一致:要求始终使用大写布尔运算符和括号,但示例多处省略括号或使用不一致格式;审计方法名允许猜测,且未提供测试、边界案例或失败反馈,因此按静态校准限制在10分以下。
目标用户、核心场景和不适用的其他数据库范围较清楚,并规定了占位符和服务参考触发方式;但缺少中文示例、中文输入处理说明、精确触发/不触发边界,以及对未列服务依赖一般知识,故扣分。
文档结构清晰,包含核心规则、参考文件、示例、支持链接、安装方式、Apache-2.0许可和问题反馈路径;但选定技能没有独立版本、变更记录、明确维护责任、完整故障排查说明,且引用的服务参考文件覆盖不完整,因此扣分。
输出原始LQL文本,格式可直接复制到 Cloud Logging,服务示例和占位符提升了实用性;但静态材料没有验证查询可执行性,未知字段会退化为较宽泛的SEARCH,审计方法名还可能被猜错,仍需人工复核,因此不超过7分。
提供了LQL参考内容、服务示例和官方文档链接,具备一定可审计性;但未提供提交测试、CI执行证据、版本化验证结果或第三方交叉复现,因此静态证据较薄弱。
- 不要将输出视为已验证可执行的查询;尤其要人工核对resource.type、字段路径和protoPayload.methodName。
- 技能要求缺少标识符时直接插入占位符且禁止澄清,可能生成无法直接运行或范围过宽的查询。
- 日志可能含有敏感信息,使用SEARCH进行全局搜索前应确认访问范围和数据披露风险。
- 中文用户应明确提供服务名称、资源类型、字段和时间范围,并复核生成的英文LQL语法。
这个 Skill 能做什么,适合哪些场景?
此技能根据自然语言生成 Google Cloud Logging 的 Logging Query Language(LQL)查询。它面向日志查询和问题排查,支持按 Google Cloud 服务或资源筛选日志。技能强调严格语法、准确的资源类型、审计日志字段和缺少标识符时的占位符处理。它只针对 Cloud Logging,不用于查询 SQL、Spanner 等其他数据库。
读取与目标服务相关的查询参考文件和 LQL API 参考,识别适用的 resource.type、log_id、protoPayload 或 jsonPayload 字段,并输出原始 LQL 查询文本。它会处理字符串引号、布尔运算符、括号、实例名称与实例 ID 的区别,以及审计日志的 methodName 查询。缺少项目 ID、实例名或 IP 地址等变量时,会直接插入大写尖括号占位符。
- Google Cloud 运维人员需要按服务、资源或日志 ID 筛选日志时使用。
- 开发人员调试 Google Cloud 服务问题并希望从自然语言描述生成 LQL 时使用。
- 排查 Compute Engine 等资源的实例名称、实例 ID 或资源类型筛选问题时使用。
- 安全或平台团队需要查询创建、更新、删除资源或 API 调用的审计日志时使用。
- 用户需要针对未明确记录字段结构的服务进行全局关键词日志搜索时使用。
这个 Skill 有哪些优点和局限?
- 明确规定双引号、全大写布尔运算符和括号等 LQL 语法要求。
- 覆盖多个 Google Cloud 服务的专用查询参考文件。
- 针对审计日志、资源类型和实例名称与实例 ID 混淆提供具体规则。
- 缺少变量时无需停下来等待澄清,可使用占位符生成查询。
- 只面向 Google Cloud Logging LQL,不适用于 SQL、Spanner 等其他数据库查询。
- 来源没有提供测试套件、验证流程或平台兼容性测试证据。
- 未列出的 Google Cloud 服务依赖一般知识生成查询,字段准确性可能需要人工检查。
- 参考文件内容未在本资料中提供,实际使用效果依赖完整技能包。
如何安装这个 Skill?
在包含该技能的仓库中运行 npx skills add google/skills,然后从安装交互中选择所需技能。该仓库包含约 90 个技能;本资料只涉及 skills/cloud/cloud-logging-query-generation。具体安装目标位置未在来源中说明。
如何使用这个 Skill?
安装后,用自然语言提出 Cloud Logging 查询需求,例如:Generate an LQL query for error logs from Cloud Run in project <PROJECT_ID>. 技能应输出原始 LQL 查询文本;对于缺少的具体标识符,直接使用大写尖括号占位符。