VM의 프로세스 수 모니터링

이 문서에서는 Google Cloud 콘솔을 사용하여 지정한 조건을 충족하는 가상 머신(VM)에서 실행되는 프로세스 수를 모니터링하는 알림 정책을 만드는 방법을 설명합니다. 이 유형의 알림 정책을 프로세스 상태 알림 정책이라고도 합니다. 예를 들어 루트 사용자가 시작한 프로세스 수를 계산할 수 있습니다. 또한 특정 문자열이 포함된 호출 명령어의 프로세스 수를 계산할 수 있습니다. 알림 정책은 프로세스 수가 특정 기준보다 많거나 적을 때 알림을 표시할 수 있습니다. 모니터링할 수 있는 프로세스에 대한 자세한 내용은 모니터링되는 프로세스를 참조하세요.

이 콘텐츠는 로그 기준 알림 정책에 적용되지 않습니다. 특정 메시지가 로그에 표시될 때 알림을 표시하는 로그 기준 알림 정책에 대한 자세한 내용은 로그 모니터링을 참조하세요.

시작하기 전에

  1. Google Cloud 콘솔을 사용하여 알림 정책을 만들고 수정하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 모니터링 편집자(roles/monitoring.editor) IAM 역할 부여를 요청합니다. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

    커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

    Cloud Monitoring 역할에 대한 자세한 내용은 Identity and Access Management로 액세스 제어를 참조하세요.

  2. 알림 정책의 일반 개념을 숙지해야 합니다. 이러한 주제에 대한 자세한 내용은 알림 개요를 참조하세요.

  3. 알림을 수신하는 데 사용할 알림 채널을 구성합니다. 또한 중복화 목적으로 여러 유형의 알림 채널을 만드는 것이 좋습니다. 이 단계에 대한 자세한 내용은 알림 채널 만들기 및 관리를 참조하세요.

  4. 모니터링할 VM에 운영 에이전트를 설치했는지 확인합니다. 자세한 내용은 Google Cloud Observability 에이전트를 참조하세요.

알림 정책 만들기

Cloud Monitoring API를 사용하여 VM에서 실행되는 프로세스 수를 모니터링하는 알림 정책을 만들려면 필터 표현식이 시계열 선택기를 지정해야 합니다. 이 선택기를 지정하는 JSON 파일의 예시는 프로세스 상태 정책을 참조하세요.

VM에서 실행되는 프로세스 수를 모니터링하는 알림 정책을 만들려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서  알림 페이지로 이동합니다.

    알림으로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.

  2. 정책 만들기를 선택합니다.
  3. 측정항목 선택 섹션에서 ?를 선택한 후 도움말에서 직접 필터 모드를 선택합니다.

  4. 모니터링 필터를 입력합니다.

    예를 들어 이름에 nginx가 포함된 Compute Engine VM 인스턴스에서 실행되는 프로세스 수를 집계하려면 다음과 같이 입력합니다.

    select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
    resource.type="gce_instance"
    

    구문 정보는 다음 리소스를 참조하세요.

  5. 알림 정책을 완료합니다. 조건 트리거, 알림, 문서, 정책 이름을 구성한 후 정책 만들기를 클릭해야 합니다.

    자세한 내용은 측정항목 임곗값 알림 정책 만들기를 참조하세요.

모니터링 대상 프로세스

시스템에서 실행되는 모든 프로세스가 프로세스 상태 조건에 의해 모니터링되는 것은 아닙니다. 이 조건은 프로세스를 호출한 명령줄에 적용되는 정규 표현식을 사용하여 모니터링할 프로세스를 선택합니다. 명령줄 필드를 사용할 수 없으면 프로세스를 모니터링할 수 없습니다.

프로세스 상태 조건에 따라 프로세스를 모니터링할 수 있는지 확인하는 한 가지 방법은 활성 프로세스를 조사하는 것입니다. 예를 들어 Linux 시스템에서는 ps 명령어를 사용할 수 있습니다.

    ps aux | grep nfs
    USER      PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      1598  0.0  0.0      0     0 ?        S<   Oct25   0:00 [nfsd4]
    root      1639  0.0  0.0      0     0 ?        S    Oct25   2:33 [nfsd]
    root      1640  0.0  0.0      0     0 ?        S    Oct25   2:36 [nfsd]

COMMAND 항목이 대괄호(예: [nfsd])로 래핑된 경우 프로세스의 명령줄 정보를 사용할 수 없습니다. 이 상황에서는 Cloud Monitoring을 사용하여 프로세스를 모니터링할 수 없습니다.