요청 로깅 구성

이 페이지에서는 Media CDN에 대해 요청 로깅을 구성하는 방법을 보여줍니다.

로그 사용 설정

로깅은 기본적으로 저장되는 데이터를 최소화하기 위해 사용 중지되어 있습니다. 로그는 라우팅 및 필터링되고 Cloud Logging에 저장됩니다.

  • 특정 Media CDN 서비스에 대한 로깅 사용 설정:

    gcloud edge-cache services update YOUR_SERVICE \
       --enable-logging \
       --logging-sample-rate=1.0
    
  • Logging 사용 중지:

    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.sampleRate0.1로 설정합니다.

gcloud edge-cache services update YOUR_SERVICE \
    --enable-logging \
    --logging-sample-rate=0.1

샘플링 레이트를 변경하려면 로깅을 사용 설정해야 합니다.

특별히 지정되지 않은 한 샘플링 레이트는 기본적으로 0(0%)로 설정되며, 구성된 서비스에 대해 모든 요청을 로깅합니다.

쿼리 로그

로그를 쿼리하려면 Google Cloud 콘솔에서 로그 탐색기를 사용하거나 Google Cloud CLI를 사용하면 됩니다.

Google Cloud 콘솔에서 로그를 보려면 Media CDN 리소스 유형으로 필터링하고 (선택적으로) 프로젝트 및 서비스 이름에 따라 필터링합니다.

다음 로깅 쿼리는 모든 Media 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"

특정 URL로 필터링하기 위해서는 httpRequest.requestUrl 필드로 필터링합니다.

httpRequest.requestUrl = "URL"

경로 구성요소와 같은 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 쿼리 언어를 사용하여 고급 쿼리 작성을 참조하세요.

저장된 로그 필터링

저장 및 쿼리할 총 로그 볼륨을 줄이기 위해 관련된 필드만 캡처하는 등의 목적을 위해 로그를 저장하기 전에 필터링하려면 저장 전 필드를 포함하거나 제외하는 쿼리(필터)를 정의할 수 있도록 제외 필터를 구성할 수 있습니다.

또한 여러 필터를 설정할 수도 있습니다. 예를 들어 모든 캐시 부적중 요청 또는 특정 호스트 이름에 대한 모든 요청을 캡처하고 모든 로그를 샘플만 가져올 수 있습니다.

로그 라우팅

Media CDN은 Cloud Logging과 직접 통합되어 다음 방식으로 로그를 집계하고 라우팅하는 데 도움이 됩니다.

  • Cloud Storage 및 BigQuery와 같은 스토리지 대상

  • 타사 대상이 로그 액세스를 위해 구독할 수 있는 Pub/Sub 주제

Logging에서 로그 라우팅 방법의 개요를 보려면 라우팅 및 스토리지 개요를 참조하세요.

다음 단계