카운터 측정항목 구성

이 문서에서는 Google Cloud 콘솔, Logging API, Google Cloud CLI를 사용해서 카운터 유형의 로그 기반 측정항목을 만드는 방법을 설명합니다.

카운터 측정항목은 필터와 일치하는 로그 항목의 개수를 집계합니다. 예를 들어 특정 오류 메시지가 포함된 로그 항목 수를 계산하는 로그 기반 측정항목을 만들 수 있습니다. 로그 기반 측정항목은 단일 Google Cloud 프로젝트 내에서 또는 로그 버킷 내에 적용될 수 있습니다.

로그 기반 측정항목에 대한 개요는 로그 기반 측정항목 개요를 참조하세요.

시작하기 전에

  1. 로그 기반 측정항목을 사용하려면 결제가 사용 설정된 Google Cloud 프로젝트가 있어야 합니다.

    1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
    2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

      프로젝트 선택기로 이동

    3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

    4. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

      프로젝트 선택기로 이동

    5. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  2. Identity and Access Management 역할에 로그 기반 측정항목을 만들고 보고 알림 정책을 만드는 데 필요한 권한이 포함되어 있는지 확인하세요. 자세한 내용은 로그 기반 측정항목 권한을 참조하세요.

카운터 유형의 로그 기반 측정항목 만들기

이 측정항목은 제공된 필터로 식별된 로그 항목을 계산합니다. 필터에서 정규 표현식을 사용할 수 있으며 리소스 유형을 포함하는 것이 좋습니다. 필터 길이는 20,000자(영문 기준)를 초과할 수 없습니다.

필터에 민감한 정보를 넣지 마세요. 필터는 서비스 데이터로 처리됩니다.

콘솔

Google Cloud 프로젝트의 Google Cloud 콘솔에서 카운터 측정항목을 만들려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔의 탐색 패널에서 Logging을 선택한 후 로그 기반 측정항목을 선택합니다.

    로그 기반 측정항목으로 이동

  2. 측정항목 만들기를 클릭합니다. 로그 측정항목 만들기 패널이 나타납니다.

  3. 측정항목 유형 설정: 카운터를 선택합니다.

  4. 세부정보 섹션에서 다음 필드를 설정합니다.

    • 로그 측정항목 이름: Google Cloud 프로젝트의 로그 기반 측정항목 중에서 고유한 이름을 선택합니다. 이름 지정 시 제한사항이 적용됩니다. 자세한 내용은 문제 해결을 참조하세요.
    • 설명: 측정항목에 대한 설명을 입력합니다.
    • 단위: 이 필드를 공백으로 남겨두거나 숫자 1을 삽입하세요.
  5. 필터 선택 섹션에서 측정항목 필터를 정의합니다.

    1. 로그 범위 선택을 사용하여 필터가 모든 Google Cloud 프로젝트 로그를 타겟팅하는지 아니면 특정 버킷의 로그만 타겟팅하는지 선택합니다.

    2. 로깅 쿼리 언어를 사용하여 측정항목에서 집계하려는 로그 항목만 수집하는 필터를 만듭니다. 정규 표현식을 사용하여 측정항목의 필터를 만들 수도 있습니다.

    3. 필터와 일치하는 로그 항목을 보려면 미리보기 로그를 클릭합니다.

  6. (선택사항) 라벨 섹션에서 라벨을 추가합니다. 라벨을 만드는 방법은 라벨 만들기를 참조하세요.

  7. 측정항목 만들기를 클릭하여 측정항목을 만듭니다.

gcloud

다음 명령어를 사용하여 커스텀 라벨이 없는 로그 기반 측정항목을 만들 수 있습니다.

gcloud logging metrics create METRIC_NAME \
  --description="METRIC_DESCRIPTION" \
  --log-filter="FILTER" \
  [--bucket-name="BUCKET_NAME"]

예를 들어 다음 명령어는 error_count라는 프로젝트 범위 로그 기반 측정항목을 만듭니다.

gcloud logging metrics create error_count \
     --description "Errors in syslog." \
     --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR"

버킷 범위 로그 기반 측정항목을 대신 만들려면 --bucket_name 플래그를 제공합니다.

gcloud logging metrics create error_count \
    --description "Errors in syslog." \
    --log-filter "resource.type=gce_instance AND log_id(\"syslog\") AND severity>=ERROR" \
    --bucket-name projects/my-project/locations/global/buckets/my-test-bucket

라벨을 만드는 방법은 라벨 만들기를 참조하세요.

API

카운터 측정항목을 만들려면 Logging API의 projects.metrics.create 메서드를 사용하세요. API 탐색기에서 이 메서드를 사용해볼 수 있습니다. 메서드의 인수를 다음과 같이 준비하세요.

  1. 측정항목을 만들 프로젝트 또는 버킷으로 상위 필드를 설정합니다.

    • 프로젝트 범위 로그 기반 측정항목의 경우 프로젝트를 지정합니다.
    projects/PROJECT_ID
    
    • 버킷 범위 로그 기반 측정항목의 경우 버킷을 지정합니다.
    projects/PROJECT_ID/locations/LOCATION/bucket/BUCKET_ID
    
  2. LogMetric 객체로 요청 본문을 설정합니다. 다음은 카운터 측정항목의 샘플 객체입니다.

    {
      name:        "my-metric"
      description: "This is my metric."
      filter:      "resource.type=gce_instance AND log_id(\"syslog\")",
      metricDescriptor: {
          labels: [
            {
              key: "my-label",
              valueType: STRING,
              description: "This is my label.",
            }
          ]
      },
      labelExtractors: {
        "my-label":
          "REGEXP_EXTRACT(jsonPayload.someField, \"before ([0-9]+) after\")",
        ...
      },
    }
    

참고:

  • 프로젝트의 여러 로그 기반 측정항목에서 고유한 측정항목 이름을 선택합니다. 이름 지정 시 제한사항이 적용됩니다. 자세한 내용은 문제 해결을 참조하세요.

  • 카운터 측정항목의 경우 LogMetric 필드인 valueExtractorbucketOptions는 쓸모가 없으므로 생략됩니다.

  • 측정항목에 라벨이 없으면 metricDescriptorlabelExtractors 필드를 생략해도 됩니다. 측정항목에 라벨이 있으면 로그 기반 측정항목 라벨에서 라벨에 관한 소개와 API에서 라벨을 만드는 자세한 방법을 참조하세요.

자세한 내용은 LogMetric 유형을 참조하세요.

새 측정항목의 지연 시간

새 측정항목은 로그 탐색기의 측정항목 목록과 관련 Monitoring 메뉴에 즉시 나타납니다. 데이터는 일반적으로 1분 이내에 제공됩니다.

로그 기반 측정항목 검사

Google Cloud 프로젝트에 사용자 정의 로그 기반 측정항목을 나열하거나 Google Cloud 프로젝트의 특정 측정항목을 검사하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔의 탐색 패널에서 Logging을 선택한 후 로그 기반 측정항목을 선택합니다.

    로그 기반 측정항목으로 이동

  2. 사용자 정의 측정항목 창에는 현재 Google Cloud 프로젝트의 사용자 정의 로그 기반 측정항목이 표시됩니다.

  3. 로그 기반 측정항목의 데이터를 보려면 측정항목 행에서 메뉴를 클릭하고 측정항목 탐색기에서 보기를 선택합니다.

gcloud

Google Cloud 프로젝트의 사용자 정의 로그 기반 측정항목을 나열하려면 다음 명령어를 사용합니다.

gcloud logging metrics list

Google Cloud 프로젝트의 사용자 정의 로그 기반 측정항목을 표시하려면 다음 명령어를 사용합니다.

gcloud logging metrics describe METRIC_NAME

도움말을 보려면 다음 명령어를 사용합니다.

gcloud logging metrics --help

Google Cloud CLI에서는 측정항목의 시계열 데이터를 읽을 수 없습니다.

API

측정항목 표시

Google Cloud 프로젝트에서 사용자 정의 로그 기반 측정항목을 나열하려면 projects.metrics.list API 메서드를 사용하세요. 메서드의 매개변수를 다음과 같이 채우세요.

  • parent: Google Cloud 프로젝트의 리소스 이름입니다(projects/PROJECT_ID).
  • pageSize: 결과의 최대 개수입니다.
  • pageToken: 결과의 다음 페이지를 가져옵니다. 페이지 토큰을 사용하는 방법에 대한 자세한 내용은 projects.metrics.list를 참조하세요.

측정항목 정의 검색

단일 사용자 정의 로그 기반 측정항목을 검색하려면 projects.metrics.get API 메서드를 사용하세요. 메서드의 매개변수를 다음과 같이 채우세요.

  • metricName: 측정항목의 리소스 이름입니다.

    projects/PROJECT_ID/metrics/METRIC_ID
    

측정항목 데이터 읽기

로그 기반 측정항목의 시계열 데이터를 읽으려면 Cloud Monitoring API의 projects.timeseries.list를 사용합니다. 시계열 데이터에 대한 자세한 내용은 시계열 읽기를 참조하세요.

사용자 정의 로그 기반 측정항목 하나를 읽으려면 이 측정항목 유형과 식별자를 메서드 매개변수에 입력합니다.

logging.googleapis.com/user/METRIC_ID

로그 기반 측정항목 업데이트

사용자 정의 로그 기반 측정항목을 수정하여 측정항목에서 참조되는 필드의 설명, 필터, 필드 이름을 변경할 수 있습니다. 측정항목에 새 라벨을 추가하고 측정항목과 라벨의 값을 추출하는 데 사용되는 정규 표현식을 변경할 수 있습니다. 버킷 범위 측정항목을 사용하는 경우 측정항목의 버킷을 업데이트할 수도 있습니다.

사용자 정의 로그 기반 측정항목 또는 라벨의 이름이나 유형을 변경할 수 없으며 로그 기반 측정항목의 기존 라벨을 삭제할 수 없습니다.

로그 기반 측정항목을 수정하려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔의 탐색 패널에서 Logging을 선택한 후 로그 기반 측정항목을 선택합니다.

    로그 기반 측정항목으로 이동

  2. 수정하려는 로그 기반 측정항목의 메뉴에서 측정항목 수정을 클릭합니다.

  3. 측정항목에서 허용되는 항목만 변경합니다.

  4. 측정항목 업데이트를 클릭합니다.

gcloud

Google Cloud CLI를 사용하여 카운터 측정항목의 설명을 변경하고 쿼리와 버킷을 필터링합니다. 필드 일부 또는 전부를 한 번에 업데이트할 수 있습니다.

gcloud logging update METRIC_NAME \
  --description="METRIC_DESCRIPTION" \
  --log-filter="FILTER" \
  --bucket-name=BUCKET_NAME

버킷 범위 측정항목과 연결된 버킷을 변경하면 변경 전에 수집된 측정항목 데이터에 더 이상 현재 구성이 반영되지 않습니다. 이전 버킷에 대해 수집된 측정항목 데이터는 삭제되지 않습니다.

METRIC_NAME를 제외한 분포 측정항목 또는 기타 카운터 측정항목 필드를 업데이트하려면 JSON 또는 YAML 형식으로 LogMetric의 수정된 사양을 포함하는 파일을 만듭니다. 그런 다음 --config-from-file 필드로 update 명령어를 호출하여 측정항목을 업데이트합니다. 여기서 FILENAME을 JSON 또는 YAML 파일의 이름으로 바꿉니다.

gcloud logging update METRIC_NAME --config-from-file FILENAME

세부정보를 보려면 다음 명령어를 사용합니다.

gcloud logging metrics update --help

API

로그 기반 측정항목을 수정하려면 API에서 projects.metrics.update 메서드를 사용합니다. 필드를 다음과 같이 설정합니다.

  • metricName: 측정항목의 전체 리소스 이름입니다.

    projects/PROJECT_ID/metrics/METRIC_ID
    

    예를 들면 다음과 같습니다.

    projects/my-gcp-project/metrics/my-error-metric
    
  • 변경 및 추가할 내용을 제외하고 기존 측정항목과 정확히 동일한 LogMetric 객체를 요청 본문에 포함시킵니다.

로그 기반 측정항목 삭제

사용자 정의 로그 기반 측정항목을 삭제하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔의 탐색 패널에서 Logging을 선택한 후 로그 기반 측정항목을 선택합니다.

    로그 기반 측정항목으로 이동

  2. 삭제할 측정항목을 선택하고 삭제를 클릭합니다.

    또는 삭제할 로그 기반 측정항목의 메뉴에서 측정항목 삭제를 클릭합니다.

gcloud

현재 Google Cloud 프로젝트에서 사용자 정의 로그 기반 측정항목을 삭제하려면 다음 명령어를 사용합니다.

gcloud logging metrics delete METRIC_NAME

For more details, use the following command:

gcloud logging metrics delete --help

API

사용자 정의 로그 기반 측정항목을 삭제하려면 API의 projects.metrics.delete 메서드를 사용합니다.

또한 Google Cloud 콘솔 로그 기반 측정항목 페이지에서 로그 기반 측정항목 인터페이스의 사용자 정의 측정항목 창은 Google Cloud 프로젝트에서 사용자 정의 측정항목을 관리하는 데 도움이 되는 더 많은 기능을 제공합니다. 자세한 내용은 사용자 정의 측정항목 창을 참조하세요.