如何获取GCP CloudSQL MySQL数据库多访问场景的最后访问时间
获取GCP CloudSQL MySQL数据库的全场景最后访问时间
你之前的日志查询仅覆盖了GCP控制台的访问记录,要获取mysql工具、Cloud Function、Cloud Run等程序端的访问时间,需要调整日志查询范围并确保对应日志已启用:
1. 确保CloudSQL实例启用必要日志
首先在CloudSQL实例的日志配置中,勾选以下日志类型(默认可能未启用):
- 连接日志(Connection logs):记录所有客户端的连接/断开事件
- 数据访问审计日志(Data access audit logs):记录控制台及API层面的访问操作
2. 调整日志查询语句
使用以下GCP Logging查询,覆盖所有访问场景:
resource.type="cloudsql_database" resource.labels.database_id="gis-myproject-tst-1ba3:sql-tst-mysql-checks" ( logName="projects/gis-myproject-tst-1ba3/logs/cloudsql.googleapis.com%2Fmysql_connection" OR logName="projects/gis-myproject-tst-1ba3/logs/cloudaudit.googleapis.com%2Fdata_access" )
查询说明:
mysql_connection日志:捕获所有客户端(包括本地mysql工具、Cloud Function、Cloud Run服务)的连接事件,能精准记录程序端的访问时间data_access日志:保留原有的控制台访问记录- 可额外添加过滤条件,比如只看成功连接:
jsonPayload.event_type="CONNECT"
3. 获取最后访问时间
在GCP Logging中,将查询结果按timestamp字段降序排序,第一条记录的时间即为数据库的最后访问时间。
内容的提问来源于stack exchange,提问作者Zama Ques
相关产品推荐
相关产品推荐

