有没有办法在日志资源管理器或其他 GCP 工具上轻松分析 SQL 慢查询日志?现在日志资源管理器将日志条目写入多行(textPayload 分割),很难找出那些执行缓慢的查询。
到目前为止,我设法通过以下方式获得此信息文章这里(我认为那篇文章已经过时了):
答案1
为了轻松分析查询日志,您可以创建一个基于日志的指标使用云监控。
基于日志的指标是基于日志条目内容的 Cloud Monitoring 指标。例如,指标可以记录包含特定消息的日志条目数量,也可以提取日志条目中报告的延迟信息。
基本上,您需要执行以下操作:
首先过滤 Cloud Logging 视图以匹配您要测量的日志
创建基于日志的指标
生成新数据并查看新指标
注意:指标仅在创建后才开始记录数据。
- 使用 Cloud Monitoring 可视化慢查询日志。您可以通过将慢查询 SQL 语句解析为度量标签,这些内容可以在 Cloud Monitoring 的仪表板图例中看到。
检查一下文章了解更详细的步骤。
答案2
我重现了您的问题,是的,您是对的,日志资源管理器中的 Cloud SQL MySQL 日志(general.log、slow.log)按换行符拆分为多个记录,并且不会将长查询显示为一条记录。
原因:这是因为在设置为 Cloud SQL 的输入查询中有一个换行符。如果输入查询是单行(不包含 \n),则输出将是一个日志事件,在日志资源管理器中显示为一行。如果输入查询是多行(包含 \n),则输出将是多个日志事件并显示为多个日志。他们在常规日志中看到的记录被拆分为多个记录。
需要提醒您的是,Google 已经知道了这个问题。目前尚无实施的预计时间。Cloud SQL 团队关于此功能请求的所有沟通/更新都将发布这里或者 这里