Cloud Monitoring으로 수집 분석

다음에서 지원:

이 문서에서는 Cloud Monitoring을 사용하여 수집 알림을 수신하는 방법을 설명합니다. Google SecOps는 Cloud Monitoring을 사용하여 수집 알림을 전송합니다. 수집 알림 및 수집량 보기에 이 기능을 사용합니다. 기존 워크플로에 이메일 알림을 통합할 수 있습니다. 알림은 수집 값이 사전 정의된 특정 수준에 도달하면 트리거됩니다. Cloud Monitoring 문서에서는 알림을 알림이라고 합니다.

시작하기 전에

상태 측정항목의 수집 알림 설정

Google SecOps와 관련된 수집 상태 측정항목을 모니터링하는 알림을 설정하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 Monitoring을 선택합니다.

  2. 탐색 창에서 알림을 선택한 후 정책 만들기를 클릭합니다.

  3. 측정항목 선택 페이지에서 측정항목 선택을 클릭합니다.

  4. 측정항목 선택 메뉴에서 다음 중 하나를 클릭합니다.

    • 활성 전환: 지난 25시간의 데이터로 리소스 및 측정항목만 필터링하고 표시합니다. 이 옵션을 선택하지 않으면 모든 리소스 및 측정항목 유형이 나열됩니다.
    • 조직/폴더 수준: 조직 및 폴더의 소비자 할당량 사용량 또는 BigQuery 슬롯 할당과 같은 리소스와 측정항목을 모니터링하도록 전환합니다.
  5. 다음 측정항목 중 하나를 선택합니다.

    • Chronicle 수집기 > 수집을 선택한 후 수집된 총 로그 수 또는수집된 총 로그 크기 중 하나를 선택합니다.

    • Chronicle 수집기 > 노멀라이저를 선택한 후 총 레코드 수 또는 총 이벤트 수를 선택합니다.

    • Chronicle 로그 유형 > 대역 외를 선택한 후 수집된 총 로그 수(피드) 또는 수집된 총 로그 크기(피드)를 선택합니다.

  6. 적용을 클릭합니다.

필터 추가

  1. 측정항목 선택 페이지에서 필터 추가를 클릭합니다.

    1. 필터 대화상자에서 collector_id 라벨, 비교 연산자, 필터 값을 선택합니다.

    2. 다음 필터 중 하나 이상을 선택하세요.

      • project_id: 이 리소스와 연결된 Google Cloud 프로젝트의 ID입니다.

      • location: 수집기 객체가 포함된 클러스터의 실제 위치입니다. 이 필드를 사용하지 않는 것이 좋습니다. 이 필드를 비워두면 Google SecOps가 기존 정보를 사용하여 데이터를 저장할 위치를 자동으로 결정할 수 있습니다.

      • collector_id: 수집기의 ID입니다.

      • log_type: 로그 유형의 이름입니다.

      • 측정항목 라벨 > 네임스페이스: 로그의 네임스페이스입니다.

      • feed_name: 피드 이름입니다.

      • LogType: 로그 유형입니다.

      • 측정항목 라벨 > event_type: 이벤트 유형에 따라 이벤트에 포함되는 필드가 결정됩니다. 이벤트 유형에는 PROCESS_OPEN, FILE_CREATION, USER_CREATION, NETWORK_DNS와 같은 값이 포함됩니다.

      • 측정항목 라벨 > state: 이벤트 또는 로그의 최종 상태입니다. 상태는 다음 중 하나입니다.

        • parsed: 로그가 성공적으로 파싱되었습니다.
        • validated. 로그가 성공적으로 검증되었습니다.
        • failed_parsing. 로그에 파싱 오류가 있습니다.
        • failed_validation. 로그에 검증 오류가 있습니다.
        • failed_indexing. 로그에 일괄 색인 생성 오류가 있습니다.

      • 측정항목 라벨 > drop_reason_code: 이 필드는 수집 소스가 Google SecOps 전달자일 때 채워지며 로그가 정규화 중에 삭제된 이유를 나타냅니다.

      • 측정항목 라벨 > ingestion_source: 수집 API를 사용해서 로그가 수집되었을 때 수집 라벨에 있는 수집 소스입니다.

    3. 특수 수집기 ID를 선택합니다. collector_id는 수집 방법에 따라 전달자 ID 또는 특수 ID일 수도 있습니다.

      • aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa:
        Amazon S3, Amazon SQS, Cloud Storage, Cloud Storage (이벤트 기반), Microsoft Azure Blob Storage, 서드 파티 API, HTTP(S) 파일 (API 아님)의 로그를 나타냅니다.

      • aaaa1111-aaaa-1111-aaaa-1111aaaa1111:
        Bindplane (Google 버전)을 포함한 수집 에이전트를 나타냅니다.

      • aaaa1111-aaaa-1111-aaaa-1111aaaa1112:
        Bindplane Enterprise (Google 버전).

      • aaaa1111-aaaa-1111-aaaa-1111aaaa1113:
        Bindplane Enterprise.

      • aaaa1111-aaaa-1111-aaaa-1111aaaa1114:
        헤드리스 수집기 Bindplane 관리 레이어가 없는 Bindplane 또는 OpenTelemetry 수집기입니다.

      • aaaa1111-aaaa-1111-aaaa-1111aaaa1115:
        Chronicle API 자세한 내용은 수집 방법을 참고하세요.

      • aaaa2222-aaaa-2222-aaaa-2222aaaa2222:
        HTTPS 푸시 메서드를 통해 수집된 로그입니다. 여기에는 웹훅, Amazon Kinesis Firehose, Google Cloud Pub/Sub 소스 유형 피드가 포함됩니다.

      • aaaa3333-aaaa-3333-aaaa-3333aaaa3333:
        Cloud Storage 로그이며 Event Threat Detection을 통해 수집된 로그가 포함됩니다.

      • aaaa4444-aaaa-4444-aaaa-4444aaaa4444:
        Azure Event Hub 피드 통합을 통해 수집된 로그입니다. 여기에는 Microsoft Azure Event Hub 소스 유형 피드가 포함됩니다.

      • bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb:
        기존 Backstory Ingestion API 또는 Chronicle API unstructuredlogentries 메서드를 사용하는 모든 수집 소스를 나타냅니다. 자세한 내용은 Google SecOps Ingestion API 및 수집 방법을 참조하세요.

      • cccccccc-cccc-cccc-cccc-cccccccccccc:
        기존 Backstory Ingestion API 또는 Chronicle API udmevents 메서드를 사용하는 모든 수집 소스를 나타냅니다. 자세한 내용은 Google SecOps Ingestion API 및 수집 방법을 참조하세요.

      • dddddddd-dddd-dddd-dddd-dddddddddddd:
        내부 프로세스 및 통합을 통해 수집된 모든 로그를 나타냅니다. 예를 들어 Google Workspace 기본 제공 수집이 있습니다.

      • eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee:
        CreateEntities에 사용되는 collector_id를 나타냅니다.

      • 전달자: 무작위로 생성된 특정 수집기 ID가 있습니다.

  2. 변환 데이터 섹션에서 다음을 선택합니다.

    1. 시계열 집계 필드를 합계로 설정합니다.
    2. 시계열 그룹화 기준 필드를 project_id로 설정합니다.

  3. (선택사항) 여러 조건을 포함하여 알림 정책을 설정합니다. 알림 정책 내에 조건이 여러 개 있는 수집 알림을 만들려면 여러 조건이 포함된 정책을 참고하세요.

Google SecOps 전달자 측정항목 및 관련 필터

다음 표에서는 사용 가능한 Google SecOps 전달자 측정항목과 관련 필터를 설명합니다.

Google SecOps 전달자 측정항목 필터
사용된 컨테이너 메모리 log_type, collector_id
컨테이너 디스크 사용량 log_type, collector_id
Container cpu_used log_type, collector_id
Log drop_count log_type, collector_id, input_type, reason
buffer_used log_type, collector_id, buffer_type, input_type
last_heartbeat log_type, collector_id, input_type

조용한 Google SecOps 전달자를 감지하도록 샘플 정책 설정

다음 샘플 정책은 모든 Google SecOps 전달자를 감지하고 Google SecOps 전달자가 60분 동안 로그를 전송하지 않으면 알림을 보냅니다. 이는 모니터링하려는 모든 Google SecOps 전달자에게 유용하지 않을 수 있습니다. 예를 들어 Google SecOps 전달자 하나 이상에서 임곗값이 다른 단일 로그 소스를 모니터링하거나 보고 빈도에 따라 Google SecOps 전달자를 제외할 수 있습니다.

  1. Google Cloud 콘솔에서 Monitoring을 선택합니다.
    Cloud Monitoring으로 이동

  2. 정책 만들기를 클릭합니다.

  3. 측정항목 선택 페이지에서 Chronicle 수집기 > 수집 > 수집된 총 로그 수를 선택합니다.

  4. 적용을 클릭합니다.

  5. 변환 데이터 섹션에서 다음을 선택합니다.

    1. 롤링 윈도우를 최대 1시간*으로 설정합니다.
    2. 순환 기간 함수를 평균으로 설정합니다.
    3. 시계열 집계를 평균으로 설정합니다.
    4. 시계열 그룹화 기준을 collector_id로 설정합니다. collector_id로 그룹화하도록 설정되지 않은 경우 각 로그 소스에 대해 알림이 트리거됩니다.
  6. 다음을 클릭합니다.

  7. 측정항목 부재를 선택하고 다음을 수행합니다.

    1. 알림 트리거를 모든 시계열 위반으로 설정합니다.
    2. 트리거 부재 시간을 최대 1시간으로 설정합니다.
    3. 조건의 이름을 입력하고 다음을 클릭합니다.
  8. 알림 및 이름 섹션에서 다음을 수행합니다.

    1. 알림 채널 사용 필드에서 알림 채널을 선택합니다. 중복화 용도로 알림 채널을 여러 개 구성하는 것이 좋습니다.
    2. 사고 종료 시 알림을 구성합니다.
    3. 정책 사용자 라벨을 적절한 수준으로 설정합니다. 이 설정을 사용하여 정책의 알림 심각도 수준을 설정합니다.
    4. 알림의 일부로 전송할 문서를 입력합니다.
    5. 알림 정책 이름을 입력합니다.

포괄 정책에 제외 추가

특정 Google SecOps 전달자에 트래픽 양이 적거나 더 많은 맞춤 알림 정책이 필요할 수 있으므로 포괄 정책에서 이러한 전달자를 제외해야 할 수도 있습니다.

  1. Google Cloud 콘솔에서 Monitoring을 선택합니다.

  2. 탐색 페이지에서 알림을 선택한 후 정책 섹션에서 수정할 정책을 선택합니다.

  3. 정책 세부정보 페이지에서 수정을 클릭합니다.

  4. 알림 정책 수정 페이지의 필터 추가 섹션에서 필터 추가를 선택하고 다음을 수행합니다.

    1. collector_id 라벨과 정책에서 제외할 수집기를 선택합니다.
    2. 비교 연산자를 !=로 설정하고 값을 제외하려는 collector_id로 설정한 후 완료를 클릭합니다.
    3. 제외해야 하는 각 수집기에 대해 이 작업을 반복합니다. 다음 형식을 사용하려면 정규 표현식을 사용하여 단일 필터로 여러 수집기를 제외할 수도 있습니다.

      (?:aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa|bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb|cccccccc-cccc-cccc-cccc-cccccccccccc)

  5. 정책 저장을 클릭합니다.

조용한 Google SecOps 수집 에이전트를 감지하도록 샘플 정책 설정

다음 샘플 정책은 모든 Google SecOps 수집 에이전트를 감지하고 Google SecOps 수집 에이전트가 60분 동안 로그를 전송하지 않으면 알림을 보냅니다. 이 샘플은 모니터링하려는 모든 Google SecOps 수집 에이전트에 유용하지 않을 수 있습니다. 예를 들어 Google SecOps 수집 에이전트 하나 이상에서 임곗값이 다른 단일 로그 소스를 모니터링하거나 보고 빈도에 따라 Google SecOps 수집 에이전트를 제외할 수 있습니다.

  1. Google Cloud 콘솔에서 Monitoring을 선택합니다.
    Cloud Monitoring으로 이동

  2. 정책 만들기를 클릭합니다.

  3. 측정항목 선택 페이지에서 Chronicle 수집기 > 에이전트 > 내보내기 도구에서 허용된 스팬 수를 선택합니다.

  4. 적용을 클릭합니다.

  5. 변환 데이터 섹션에서 다음을 선택합니다.

    1. 순환 기간을 최대 1시간*으로 설정합니다.
    2. 순환 기간 함수를 평균으로 설정합니다.
    3. 시계열 집계를 평균으로 설정합니다.
    4. 시계열 그룹화 기준을 collector_id로 설정합니다. collector_id로 그룹화하도록 설정되지 않은 경우 각 로그 소스에 대해 알림이 트리거됩니다.
  6. 다음을 클릭합니다.

  7. 측정항목 부재를 선택하고 다음을 수행합니다.

    1. 알림 트리거를 모든 시계열 위반으로 설정합니다.
    2. 트리거 부재 시간을 최대 1시간으로 설정합니다*.
    3. 조건의 이름을 입력하고 다음을 클릭합니다.
  8. 알림 및 이름 섹션에서 다음을 수행합니다.

    1. 알림 채널 사용 필드에서 알림 채널을 선택합니다. 중복화 용도로 알림 채널을 여러 개 구성하는 것이 좋습니다.
    2. 사고 종료 시 알림을 구성합니다.
    3. 정책 사용자 라벨을 적절한 수준으로 설정합니다. 정책의 알림 심각도 수준을 설정하는 데 사용됩니다.
    4. 알림의 일부로 전송될 모든 문서를 입력합니다.
    5. 알림 정책 이름을 입력합니다.

방화벽 서버의 고가용성 클러스터 실패를 감지하도록 샘플 정책 설정

다음 샘플 정책은 Linux 방화벽 서버의 활성-수동 고가용성(HA) 클러스터의 두 구성원이 모두 보고를 중지하는 경우(장애를 나타냄)를 감지합니다.

다음 샘플 정책에서 HA 클러스터 구성원의 이름은 prod-linux-server-1 및 prod-linux-server-2입니다. 방화벽 서버의 고가용성 클러스터 실패를 감지하도록 샘플 정책을 설정하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 Monitoring을 선택합니다.
    Cloud Monitoring으로 이동

  2. 정책 만들기를 클릭합니다.

  3. 정책 구성 모드를 빌더로 설정합니다.

  4. 측정항목 선택에서 Chronicle 수집기 > 수집 > 수집된 총 로그 수를 선택합니다.

  5. 적용을 클릭합니다.

  6. 필터 추가 섹션에서 다음을 입력합니다.

    ingestion_source one_of prod-linux-server-1, prod-linux-server-2

  7. 변환 데이터 섹션에서 다음을 선택합니다.

    1. 순환 기간을 5분으로 설정합니다.
    2. 순환 기간 함수를 속도로 설정합니다.
    3. 시계열 집계를 평균으로 설정합니다.
    4. 시계열 그룹화 기준을 ingestion_source로 설정합니다.
  8. 다음을 클릭합니다.

  9. 조건 유형 옵션에서 측정항목 부재를 선택하고 다음을 실행합니다.

    1. 알림 트리거를 모든 시계열 위반으로 설정합니다.

    2. 트리거 부재 시간을 5분으로 설정합니다.

    3. 조건 이름을 Linux-Active-Passive-Firewall-Cluster로 설정합니다.

  10. 다음을 클릭합니다.

  11. 알림 및 이름 섹션에서 다음을 수행합니다.

    1. 알림 채널 사용 필드에서 알림 채널을 선택합니다. 중복화 용도로 알림 채널을 여러 개 구성하는 것이 좋습니다.
    2. 사고 종료 시 알림을 구성합니다.
    3. 정책 사용자 라벨을 적절한 수준으로 설정합니다. 정책의 알림 심각도 수준을 설정하는 데 사용됩니다.
    4. 알림의 일부로 전송될 모든 문서를 입력합니다.
    5. 알림 정책 이름을 입력합니다.

일일 수집량을 모니터링하는 샘플 정책 설정

계약상 한도에 대한 일일 수집량을 모니터링하려면 총 수집된 로그 크기(chronicle.googleapis.com/ingestion/log/bytes_count) 측정항목을 사용하세요.

일일 수집 한도에 대한 알림 정책을 설정하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Monitoring을 선택합니다.

  2. 알림으로 이동합니다.

    Cloud Monitoring으로 이동

  3. 정책 만들기를 클릭합니다.

  4. 측정항목 선택 페이지에서 Chronicle 수집기 > 수집 > 수집된 총 로그 크기(chronicle.googleapis.com/ingestion/log/bytes_count)를 선택합니다.

  5. 적용을 클릭합니다.

  6. 데이터 변환 섹션에서 다음 설정을 구성합니다.

    • 순환 기간을 1일 (86400s)로 설정합니다.
    • 롤링 윈도우 함수를 합계로 설정합니다.
    • 시계열 집계를 합계로 설정합니다.
    • 시계열 그룹화 기준을 project_id(resource.label."project_id")로 설정합니다.
  7. 다음을 클릭합니다.

  8. 조건 유형으로 측정항목 기준점을 선택합니다.

  9. 기준점 설정을 구성합니다.

    • 기준 위치를 임곗값 초과로 설정합니다.
    • 기준값을 바이트 단위의 일일 수집 한도로 설정합니다. 예를 들어 400GB의 경우 400000000000을 입력합니다.
    • 조건의 이름을 입력합니다.
  10. 다음을 클릭합니다.

  11. 알림 및 이름 섹션에서 다음을 수행합니다.

    • 알림 채널 사용 필드에서 알림 채널을 선택합니다. 중복성을 위해 알림 채널을 여러 개 구성합니다.
    • 사고 종료 시 알림을 구성합니다.
    • 정책 사용자 라벨을 적절한 수준으로 설정합니다. 이 설정을 사용하여 정책의 알림 심각도 수준을 나타냅니다.
    • 알림의 일부로 전송할 문서를 입력합니다.
    • 알림 정책 이름을 입력합니다.
  12. 정책 만들기를 클릭합니다.

로그 유형별 총 수집량 보기

Cloud Monitoring에서 로그 유형별 수집량을 보려면 다음 단계를 따르세요.

  1. 설정 페이지에서 프로필을 선택합니다.

  2. Cloud Monitoring 프로필을 선택합니다.

  3. 프로필 페이지의 검색창에 통합을 입력합니다.

  4. 측정항목 탐색기를 선택합니다.

  5. promQL을 클릭하여 promQL 쿼리 모드로 전환합니다.

  6. 쿼리 필드에 다음을 복사합니다.

    sum by (log_type) (increase(chronicle_googleapis_com:ingestion_log_bytes_count{monitored_resource="chronicle.googleapis.com/Collector"}[1h]))

  7. 선택사항: 특정 로그 유형을 필터링하여 쿼리에 포함합니다.

    예를 들어 로그 유형 GCP_CLOUDAUDIT의 수집을 보려면 쿼리는 다음과 같습니다.

    sum(increase(chronicle_googleapis_com:ingestion_log_bytes_count{monitored_resource="chronicle.googleapis.com/Collector",log_type="GCP_CLOUDAUDIT"}[1h]))

  8. 결과 섹션에서 테이블 탭을 선택하여 합산된 데이터를 확인합니다.

  9. 선택사항: 필요에 따라 기간을 조정합니다.

도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가에게 문의하여 답변을 받으세요.