本页介绍了如何为 Media CDN 配置请求日志记录。
启用日志
默认情况下,日志记录功能处于停用状态,以尽可能减少存储的数据量。系统会将日志路由、过滤并存储在 Cloud Logging 中。
为特定媒体 CDN 服务启用日志记录功能:
gcloud edge-cache services update YOUR_SERVICE \ --enable-logging \ --logging-sample-rate=1.0
停用日志记录:
gcloud edge-cache services update YOUR_SERVICE \ --no-enable-logging
获取服务的日志记录当前状态:
gcloud edge-cache services describe YOUR_SERVICE
输出类似于以下内容:
... logConfig: enable: true sampleRate: 1.0 ...
设置日志采样率
对于大量请求,您可能更希望对日志进行抽样,并依靠指标进行主动监控和调查,而不是为每个请求捕获日志。
如需仅注入并存储 10% 的请求的日志,请将 logConfig.sampleRate
设置为 0.1
:
gcloud edge-cache services update YOUR_SERVICE \ --enable-logging \ --logging-sample-rate=0.1
必须启用日志记录功能才能更改采样率。
除非另有说明,否则采样率默认为 0(0%),这会记录配置的服务的每项请求。
查询日志
如需查询日志,您可以使用 Google Cloud 控制台中的 Logs Explorer,也可以使用 Google Cloud CLI。
如需在 Google Cloud 控制台中查看日志,请按媒体 CDN 资源类型进行过滤,还可以(可选)按项目和服务名称进行过滤。
以下日志查询会显示您的所有媒体 CDN 服务的日志:
resource.type="edgecache.googleapis.com/EdgeCacheRouteRule"
如需过滤与特定 EdgeCacheService
资源和项目关联的日志,请扩展此查询:
resource.type="edgecache.googleapis.com/EdgeCacheRouteRule" resource.labels.resource_container="projects/12345678" resource.labels.service_name="MY_PROJECT"
如需按部分名称进行匹配或使用正则表达式,请参阅日志记录查询语言对比。
示例:识别缓存未命中
对某个对象的请求可能发生缓存未命中,但可能会因以下原因而导致缓存填充:
- 存留时间 (TTL) 过短
- 过于具体的缓存键
- 请求过少,无法保留在缓存中
如需找出缓存未命中情况,您可以在日志浏览器中过滤日志。
以下日志查询显示了可缓存(已查找)但需要从来源填充的请求:
resource.type="edgecache.googleapis.com/EdgeCacheRouteRule" resource.labels.resource_container="projects/12345678" resource.labels.service_name="MY_PROJECT" jsonPayload.cacheStatus="miss"
如果您需要按特定网址过滤,请按 httpRequest.requestUrl
字段过滤:
httpRequest.requestUrl = "URL"
如需按网址的某个部分(例如路径组件)进行过滤,请使用 has
运算符:
# `:` is the `has` comparison operator httpRequest.requestUrl: "/videos/1381381_1080.mp4" # You can use `OR` or `AND` to filter on multiple values httpRequest.requestUrl: ("https://media-test.example.com/" OR "https://canary.example.net")
如需详细了解 Logging 的匹配和过滤的全面语法,请参阅使用 Logging 查询语言编写高级查询。
过滤存储的日志
如需在存储日志之前过滤日志(例如,仅捕获相关字段以减少需要存储和查询的日志总量),您可以配置排除项过滤条件,以便在存储之前定义包含或排除字段的查询(过滤条件)。
您还可以设置多个过滤条件,例如捕获所有缓存未命中请求或特定主机名的所有请求,并仅对所有日志进行采样。
路由日志
媒体 CDN 可直接与 Cloud Logging 集成,以便您通过以下方式汇总和路由日志:
到存储目的地(例如 Cloud Storage 和 BigQuery)
到 Pub/Sub 主题,第三方目标位置可以订阅该主题以访问日志
如需简要了解如何从 Logging 路由日志,请参阅路由和存储概览。
后续步骤
- 如需详细了解如何设置基于日志的指标,以便根据已记录的请求定义自己的指标值,请参阅基于日志的指标概览。
- 如需详细了解 Logging 的价格,请参阅 Google Cloud Observability 价格。
- 如需了解审核日志记录的运作方式以及如何为管理员活动启用和配置审核日志,请参阅 Cloud Audit Logs 文档。