关于 gcloud-usage
面向配置日志、指标、跟踪和告警的人员,提供 Google Cloud 可观测性实践参考,涵盖查询示例与故障排查步骤。
主要功能
- 01结构化 JSON 日志
- 02按严重级别筛选日志
- 03日志查询示例
- 04指标、日志与跟踪指南
- 05告警策略建议
- 06降低日志成本的方法
适用场景
- 01设计便于查询的应用日志
- 02排查服务错误与延迟
- 03设置可执行的监控告警
- 04降低日志摄取与保留成本
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ fcakyon/ claude-codex-settings --skill gcloud-usage安装后在 Claude Code 中输入/gcloud-usage确认已加载。
详细介绍
GCP 可观测性最佳实践
结构化日志记录
JSON 日志格式
使用结构化 JSON 日志记录,以便更轻松地查询:
{
"severity": "ERROR",
"message": "Payment failed",
"httpRequest": { "requestMethod": "POST", "requestUrl": "/api/payment" },
"labels": { "user_id": "123", "transaction_id": "abc" },
"timestamp": "2025-01-15T10:30:00Z"
}
严重性级别
使用适当的严重性级别进行筛选:
- DEBUG: 详细的诊断信息
- INFO: 常规操作、里程碑
- NOTICE: 常规但重要的事件
- WARNING: 潜在问题、性能下降
- ERROR: 不会导致服务停止的故障
- CRITICAL: 需要立即处理的故障
- ALERT: 必须立即采取行动
- EMERGENCY: 系统无法使用
日志筛选查询
常见筛选条件
# By severity
severity >= WARNING
# By resource
resource.type="cloud_run_revision"
resource.labels.service_name="my-service"
# By time
timestamp >= "2025-01-15T00:00:00Z"
# By text content
textPayload =~ "error.*timeout"
# By JSON field
jsonPayload.user_id = "123"
# Combined
severity >= ERROR AND resource.labels.service_name="api"
高级查询
# Regex matching
textPayload =~ "status=[45][0-9]{2}"
# Substring search
textPayload : "connection refused"
# Multiple values
severity = (ERROR OR CRITICAL)
指标、日志与跟踪
何时使用各项
指标: 随时间变化的聚合数值数据
- 请求数、延迟百分位数
- 资源利用率(CPU、内存)
- 业务 KPI(每分钟订单数)
日志: 详细的事件记录
- 错误详情和堆栈跟踪
- 审计跟踪
- 调试特定请求
跟踪: 跨服务的请求流
- 按服务拆分的延迟
- 识别瓶颈
- 分布式系统调试
告警策略设计
告警最佳实践
- 避免告警疲劳: 仅针对需要采取行动的问题发出告警
- 使用多条件告警: 减少瞬时峰值造成的噪声
- 设置适当的时间窗口: 大多数指标使用 5-15 分钟
- 包含运行手册链接: 帮助响应人员快速采取行动
常见告警模式
错误率:
- 条件:错误率 > 1%,持续 5 分钟
- 适用场景:服务健康状况监控
延迟:
- 条件:P99 延迟 > 2s,持续 10 分钟
- 适用场景:检测性能下降
资源耗尽:
- 条件:内存 > 90%,持续 5 分钟
- 适用场景:触发容量规划
成本优化
降低日志成本
- 排除过滤器: 在摄取时丢弃冗余日志
- 采样: 仅记录一定比例的高频事件
- 缩短保留时间: 缩短默认的 30 天保留期限
- 降低日志存储等级: 将日志路由到成本更低的存储桶
排除过滤器示例
# Exclude health checks
resource.type="cloud_run_revision" AND httpRequest.requestUrl="/health"
# Exclude debug logs in production
severity = DEBUG
调试工作流
- 从指标入手: 确定问题何时开始
- 关联日志: 筛选问题发生前后的日志
- 使用跟踪: 跨服务跟踪特定请求
- 检查资源日志: 查找基础设施问题
- 对比基线: 与已知正常时段进行对比
评论
支持 Markdown