워크플로 모니터링

Google Cloud Observability는 모니터링, 로깅, 진단 도구를 제공합니다. 이러한 도구를 사용하면 워크플로 배포 및 실행을 모니터링하고 분석하며 애플리케이션의 동작, 상태, 성능을 파악할 수 있습니다.

기본적으로 워크플로는 다음을 수행하도록 구성됩니다.

  • 데이터 및 시스템 감사 로그를 Cloud Logging으로 전송합니다. 수집된 로그를 사용하여 애플리케이션을 디버깅하고, 문제를 해결하고, 유용한 정보를 얻을 수 있습니다.
  • 시스템 및 리소스 측정항목을 Cloud Monitoring으로 전송합니다. 수집된 측정항목을 사용하여 상태와 성능을 모니터링하고, 트렌드와 문제를 식별하고, 동작의 변화에 대해 알림을 받을 수 있습니다.

Cloud Logging으로 감사 로그 전송

Workflows는 다음 유형의 감사 로그 데이터를 Cloud Logging으로 전송합니다.

데이터 액세스 감사 로그는 매우 클 수 있으므로 기본적으로 사용 중지되어 있습니다. 자세한 내용은 데이터 액세스 감사 로그 사용 설정을 참고하세요.

Workflows의 감사 로그에 대한 자세한 내용은 다음을 참고하세요.

실행 로그를 Cloud Logging으로 전송할 수도 있습니다.

Cloud Monitoring에 측정항목 전송

Workflows는 모니터링 리소스의 측정항목 데이터를 Google Cloud Observability로 전송합니다. Monitoring의 모니터링 리소스는 가상 머신, 데이터베이스, 애플리케이션과 같은 논리적 또는 실제 항목을 나타냅니다. 모니터링 리소스에는 탐색하거나, 대시보드를 통해 보고하거나, 알림을 만드는 데 사용할 수 있는 고유한 측정항목 집합이 포함되어 있습니다. 각 리소스에는 리소스에 관한 추가 정보를 보유하는 키-값 쌍인 리소스 라벨 집합도 있습니다. 리소스 라벨은 리소스와 연결된 모든 측정항목에 사용할 수 있습니다.

모든 리소스 유형을 보려면 모니터링 리소스 유형을 참조하세요. 모든 측정항목 유형을 보려면 Google Cloud 측정항목을 참조하세요. 다음 항목을 펼쳐 워크플로에서 Google Cloud Observability로 전송되는 측정항목 유형 목록을 확인하세요.

워크플로 측정항목 유형

측정항목 데이터 읽기

Cloud Monitoring API의 timeSeries.list 메서드를 사용하여 시계열 데이터라고도 하는 측정항목 데이터를 읽을 수 있습니다. 언어별 클라이언트 라이브러리를 사용하거나 측정항목 탐색기로 차트를 만드는 등 메서드를 호출하는 방법에는 여러 가지가 있습니다.양식 기반 API 탐색기를 사용하여 timeSeries.list 메서드를 사용해 볼 수도 있습니다. 측정항목 및 시계열에 대한 소개는 측정항목, 시계열, 리소스를 참고하세요. 측정항목 데이터를 읽는 방법을 알아보려면 시계열 데이터 검색을 참고하세요.

할당량 측정항목 모니터링

다음 예에서는 API 탐색기를 사용하여 워크플로의 총 사용 할당량 할당량을 쿼리하는 방법을 보여줍니다. 특히 Consumer Quota 리소스 유형에서 serviceruntime.googleapis.com/quota/allocation/usage 측정항목을 사용합니다. 추가 라벨 필터 (service, quota_metric)를 설정하여 할당량 유형을 지정할 수 있습니다. 추가 예시 및 알림 정책을 만드는 방법을 비롯해 할당량 측정항목을 모니터링하는 방법에 대한 자세한 내용은 할당량 측정항목 차트 생성 및 모니터링을 참고하세요.

  1. timeSeries.list 참조 페이지를 엽니다.

  2. 이 방법 시도 창이 표시되지 않으면 시도해 보기를 클릭합니다.

  3. name 필드에 다음 형식을 사용하여 Google Cloud 프로젝트 ID를 입력합니다.

    projects/PROJECT_ID
    
  4. 필터 필드에서 단일 측정항목 유형을 지정하고, 선택적으로 측정항목 라벨 및 기타 정보를 지정합니다. 예를 들면 다음과 같습니다.

    metric.type = "serviceruntime.googleapis.com/quota/allocation/usage" AND resource.labels.service = "workflowexecutions.googleapis.com"
    
  5. interval.endTime 필드에 반환되는 데이터 양을 제한하고 사용량에 적용되는 종료 시간을 입력합니다. RFC 3339 문자열로 형식을 지정해야 합니다(예: 2024-11-07T03:01:02Z).

  6. interval.startTime 필드에 반환되는 데이터 양을 제한하고 사용량에 적용되는 시작 시간을 입력합니다. RFC 3339 문자열로 형식이 지정되어야 합니다(예: 2024-11-07T03:01:00Z).

  7. 실행을 클릭합니다.

    결과는 다음과 비슷하게 표시되며 350동시 실행 할당량 측정항목을 나타냅니다.

    {
    "timeSeries": [
       {
          "metric": {
          "labels": {
             "quota_metric": "workflowexecutions.googleapis.com/concurrency"
          },
          "type": "serviceruntime.googleapis.com/quota/allocation/usage"
          },
          "resource": {
          "type": "consumer_quota",
          "labels": {
             "service": "workflowexecutions.googleapis.com",
             "project_id": "PROJECT_ID",
             "location": "europe-west1"
          }
          },
          "metricKind": "GAUGE",
          "valueType": "INT64",
          "points": [
          {
             "interval": {
                "startTime": "2024-11-07T03:01:02Z",
                "endTime": "2024-11-07T03:01:02Z"
             },
             "value": {
                "int64Value": "350"
             }
          }
          ]
       }
    
  8. 축소된 API 탐색기 측면 패널에서 전체 화면 을 클릭하여 API 탐색기를 펼칠 수 있습니다. 전체 화면 패널에 코드 샘플, application/json 응답, 원시 HTTP 응답이 포함된 추가 창이 표시됩니다. 예를 들어 이 경우 다음과 같은 유사한 curl 명령어를 볼 수 있습니다.

    curl \
    'https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%20%3D%20%22serviceruntime.googleapis.com%2Fquota%2Fallocation%2Fusage%22%20AND%20resource.labels.service%20%3D%20%22workflowexecutions.googleapis.com%22&interval.endTime=2024-11-07T03%3A01%3A02Z&interval.startTime=2024-11-07T03%3A01%3A00Z&key=YOUR_API_KEY' \
       --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
       --header 'Accept: application/json' \
       --compressed
    

Monitoring 대시보드 및 알림 사용

Monitoring 대시보드 및 관련 차트를 사용하여 워크플로 측정항목에 대한 데이터를 시각화할 수 있습니다.

Monitoring에서 이러한 측정항목을 모니터링하려면 커스텀 대시보드를 만듭니다. 이러한 측정항목을 기반으로 알림을 추가할 수도 있습니다.

다음 단계