플랫폼 로그

Google Cloud 는 두 가지 유형의 API 게이트웨이 로그를 제공합니다.

Google Cloud 서비스는 각 API 게이트웨이 요청에 대해 플랫폼 로그를 자동으로 생성합니다. 이러한 로그는 요청 처리, 인증, 기타 Google Cloud 서비스와의 상호작용에 대한 가시성을 제공합니다. 이러한 로그는 게이트웨이 오류를 디버깅하고, 성능을 분석하고, 트래픽 패턴을 이해하는 데 중요합니다. 플랫폼 로그 유형에 대한 자세한 내용은 다음을 참고하세요.

  1. 로그 요청

    각 로그 항목은 API 게이트웨이에서 처리한 쿼리를 나타냅니다. 각 요청에 대한 HTTP 상태 코드, 지연 시간, 응답 이유, 요청/응답 크기 등 유용한 정보가 포함되어 있습니다.

    로그 쿼리

    resource.type="apigateway.googleapis.com/Gateway"
    resource.labels.gateway_id="GATEWAY_ID"
    resource.labels.location="LOCATION"
    log_name="projects/PROJECT_ID/logs/apigateway.googleapis.com%2Frequests"
    • 여기서 GATEWAY_ID은 API Gateway 인스턴스의 이름입니다.
    • 여기서 LOCATION은 API Gateway 인스턴스가 배포된 리전입니다.
    • PROJECT_ID는 Google Cloud 프로젝트 ID입니다.
  2. JWKS 쿼리 로그

    JWT 인증을 사용하는 경우 API 게이트웨이는 API 구성에 지정된 JWKS 엔드포인트에서 필요한 JWKS를 가져오기 위해 주기적으로 콜아웃을 실행합니다. 이러한 로그는 JWKs 엔드포인트에 대한 성공한 요청과 실패한 요청에 관한 유용한 정보를 보여줍니다.

    로그 쿼리

    resource.type="apigateway.googleapis.com/Gateway"
    resource.labels.gateway_id="GATEWAY_ID"
    resource.labels.location="LOCATION"
    log_name="projects/PROJECT_ID/logs/apigateway.googleapis.com%2Fjwks_queries"
    • 여기서 GATEWAY_ID은 API Gateway 인스턴스의 이름입니다.
    • 여기서 LOCATION은 API Gateway 인스턴스가 배포된 리전입니다.
    • PROJECT_ID는 Google Cloud 프로젝트 ID입니다.
  3. 서비스 제어 쿼리 로그

    API 게이트웨이가 트래픽을 처리할 때 Google Cloud Service Controlcheck (할당량 및 API 키 확인용) 및 report (측정항목 및 로그용) 호출을 실행합니다. check 또는 report 호출이 실패한 경우에만 자세한 정보가 포함된 service_control_queries 로그가 채워집니다.

    로그 쿼리

    resource.type="apigateway.googleapis.com/Gateway"
    resource.labels.gateway_id="GATEWAY_ID"
    resource.labels.location="LOCATION"
    log_name="projects/PROJECT_ID/logs/apigateway.googleapis.com%2Fservice_control_queries"
    • 여기서 GATEWAY_ID은 API Gateway 인스턴스의 이름입니다.
    • 여기서 LOCATION은 API Gateway 인스턴스가 배포된 리전입니다.
    • PROJECT_ID는 Google Cloud 프로젝트 ID입니다.
  4. 생성된 API 로그

    API Gateway는 apigateway.googleapis.com와 연결된 로그 외에도 생성된 API 로그를 채웁니다. 이러한 로그는 관리 서비스와 연결되어 있으며 특정 관리 서비스를 구현하는 모든 API 게이트웨이에서 로그를 보는 데 사용할 수 있습니다.

    로그 쿼리

    resource.type="api"
    resource.labels.service="MANAGED_SERVICE"

    여기서 MANAGED_SERVICE은 관리형 서비스의 이름이며 API Gateway - API 리소스를 쿼리하여 찾을 수 있습니다.