일시중지 만들기 및 관리

이 문서에서는 일시중지를 만들고 관리하는 방법을 설명합니다. 일시중지는 Cloud Monitoring에서 특정 기간 동안 이슈를 만들고 알림을 발행하지 않도록 합니다. 각 일시중지는 적용할 리소스를 지정합니다.

개략적인 개념은 알림 일시중지를 참조하세요.

일시중지를 만들고 관리하려면 Google Cloud 콘솔 또는 Cloud Monitoring API를 사용합니다.

시작하기 전에

  1. 필수 권한이 있는지 확인합니다.

    • Google Cloud 콘솔을 사용하여 일시중지를 보고 수정하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대해 Monitoring 편집자(roles/monitoring.editor) IAM 역할을 부여해달라고 요청합니다. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

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

    • Cloud Monitoring API를 사용하여 다시 알림을 보고 수정하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대해 Monitoring 일시중지 편집자(roles/monitoring.snoozeEditor) IAM 역할을 부여해달라고 요청합니다. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.

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

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

  2. 이 문서에서 Cloud Monitoring API 예시를 사용하려면 다음을 수행합니다.

    1. Google Cloud 프로젝트의 ID를 저장할 환경 변수 PROJECT_ID를 만듭니다.

      PROJECT_ID=PROJECT_ID
      
    2. Google Cloud CLI에 인증합니다.

      gcloud auth login
      
    3. 기본 Google Cloud 프로젝트를 설정합니다.

      gcloud config set project ${PROJECT_ID}
      
    4. 승인 토큰을 만듭니다.

      ACCESS_TOKEN=`gcloud auth print-access-token`
      

      정기적으로 액세스 토큰을 새로고침해야 합니다. 작업한 명령어에서 사용자가 인증되지 않았다고 갑자기 보고하면 이 명령어를 다시 실행합니다.

일시중지 만들기

알림 정책이 이슈를 만들고 알림을 보내지 못하도록 방지하려면 일시중지를 만듭니다.

Google Cloud 콘솔, gcloud CLI 또는 Cloud Monitoring API를 사용하여 일시중지를 만들 수 있습니다.

콘솔

  1. Google Cloud 콘솔의 탐색 패널에서 모니터링을 선택한 후  알림을 선택합니다.

    알림으로 이동

  2. 미해결 이슈에서 일시중지를 만들려면 다음을 수행합니다.
    1. 알림 페이지의 이슈 창에서 이슈를 찾아 이슈 요약을 클릭합니다.
    2. 이슈 세부정보 페이지에서 일시중지를 클릭한 후 일시중지 기간을 선택합니다. 다른 필드는 구성할 수 없습니다.
  3. 그렇지 않은 경우에는 다음 단계를 따라야 합니다.

    1. 알림 페이지에서 일시정지 만들기를 클릭합니다.
    2. 일시중지를 설명하는 이름을 입력합니다. 이 이름은 알림 페이지에 표시됩니다.
    3. 시작 시간을 선택합니다. 특정 시간을 입력하거나 일시중지가 생성될 때 일시중지를 시작할 수 있습니다.
    4. 기간을 입력합니다. 이 필드 값은 일시중지가 지속되는 기간을 결정합니다.
    5. 일시중지 기준 섹션을 완료합니다. 알림 정책 메뉴를 사용하여 일시중지가 적용되는 알림 정책을 선택할 수 있습니다.

      일시중지에 알림 정책을 최대 16개까지 추가할 수 있습니다.

      일시중지 기준 섹션을 완료하면 일시중지 만들기 창에 기준과 일치하는 과거 이슈가 나열됩니다.

    6. 만들기를 클릭합니다.

Cloud Monitoring API

일시중지를 만들려면 Snooze 엔드포인트에 POST 요청을 실행하여 snoozes.create 메서드를 호출합니다. snooze 객체를 제공해야 합니다.

curl -d @my-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-X POST https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes

이 메서드는 snooze 객체를 반환합니다. Monitoring에서 생성된 일시중지 ID가 포함된 "name" 필드는 반환된 객체와 my-snooze.json의 콘텐츠 간의 유일한 차이입니다.

{
  "name": "projects/my-project/snoozes/2986666341878464512",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/787884840895011889"
    ]
  },
  "interval": {
    "startTime": "2022-11-12T19:00:20Z",
    "endTime": "2022-11-12T19:05:20Z"
  },
  "displayName": "Snooze2"
}

gcloud CLI

일시중지를 만들려면 gcloud monitoring snoozes create 명령어를 실행합니다.

gcloud monitoring snoozes create --criteria-policies=LIST_OF_POLICIES --display-name=DISPLAY_NAME --start-time=START_TIME --end-time=END_TIME

이전 명령어에서 end-timestart-time보다 최소 1분 이후여야 합니다. ISO 8601 형식 규칙을 따라야 합니다. 하지만 절대 시간 또는 상대 시간은 지정할 수 있습니다. 다음 예시에서는 절대 시간을 지정합니다. 현재 시간부터 30분 후에 일시중지를 시작하려면 --start-time="+PTM30M"을 사용합니다.

여러 프로젝트를 지정하는 경우 프로젝트를 쉼표로 구분합니다.

예를 들어 다음 명령어는 표시 이름이 'Maintenance Week'인 일시중지를 만듭니다. 일시중지는 2개의 알림 정책에 적용되며 시간 간격은 3월 1일부터 3월 7일까지입니다.

gcloud monitoring snoozes create --display-name="Maintenance Week" \
    --criteria-policies="projects/my-project/alertPolicies/12345,projects/my-project/alertPolicies/23451" \
    --start-time="2023-03-01T03:00:00.0-0500" \
    --end-time="2023-03-07T23:59:59.5-0500"

이전 예시에서는 my-project에 다음 일시중지를 만듭니다.

{
 "name": "projects/my-project/snoozes/98765",
 "displayName": "Maintenance Week",
 "interval": {
   "startTime": "2023-03-01T08:00:00Z",
   "endTime": "2023-03-08T04:59:59Z"
 },
 "criteria": {
   "policies": [
     "projects/my-project/alertPolicies/12345",
     "projects/my-project/alertPolicies/23451",
   ]
 }
}

성공하면 이 명령어에 대한 응답이 다음과 비슷합니다.

Created snooze [projects/my-project/snoozes/98765]

알림 정책 이름은 Google Cloud 콘솔에 표시되지 않습니다. 알림 정책 이름을 확인하려면 다음 중 하나를 수행합니다.

  • gcloud alpha monitoring policies list 명령어를 실행합니다. 이 명령어의 응답 데이터에는 알림 정책 이름이 포함됩니다.
  • 알림 정책의 JSON 표현을 확인합니다. 정책 세부정보 페이지의 옵션을 사용하여 JSON 표현을 로컬 시스템에 다운로드할 수 있습니다.

반복 일시중지 만들기

반복 간격에 따라 발생하는 일시중지를 만들려면 알림 정책에 대한 일시중지를 만드는 스크립트를 작성하면 됩니다. 그런 다음 cron 또는 Cloud Scheduler와 같은 작업 스케줄러를 사용하여 필요한 일정에 따라 스크립트를 실행합니다.

일시중지 나열

일시중지를 만들면 일시중지는 프로젝트의 일시중지에 대한 이전 레코드에 추가됩니다. 이 레코드에는 만료, 활성, 예정된 일시중지가 표시됩니다. 이 레코드에서 항목을 삭제할 수 없습니다. 즉, 일시중지를 삭제할 수 없습니다. 하지만 이 뷰에서 일시중지에 대한 세부정보를 표시하고 일시중지 수정 또는 복사와 같은 작업을 수행할 수 있습니다.

콘솔

일시중지 목록을 보려면 다음을 수행합니다.

  1. Google Cloud 콘솔의 탐색 패널에서 모니터링을 선택한 후  알림을 선택합니다.

    알림으로 이동

  2. 일시중지 창에서 모든 일시중지 확인을 클릭합니다.

    일시중지 페이지에 일시중지 목록과 이전, 예정, 활성 일시중지를 그래픽으로 표시하는 타임라인이 표시됩니다.

    • 일시중지를 수정, 복사, 취소 또는 종료하려면 일시중지의 옵션 더보기 메뉴를 사용합니다. 일시중지 상태에 따라 사용 가능한 옵션이 결정됩니다.
    • 모든 일시중지를 나열하려면 이전 일시중지 표시를 사용 설정합니다. 기본적으로 활성 및 예정 일시중지만 나열됩니다.
    • 타임라인 테이블의 표시 기간을 변경하려면 시간 범위 메뉴를 사용합니다. 기본적으로 테이블에는 다음 1시간 동안의 데이터가 표시됩니다. 하지만 이 필드를 수정하여 과거나 미래의 시간 범위를 지정할 수 있습니다. 만료된 일시중지는 13개월 동안 보관됩니다.
    • 특정 일시중지에 대한 세부정보를 보려면 세부정보 보기를 클릭합니다.
    • 활성 일시중지 요약을 보려면 타임라인 테이블에서 활성 행의 음영 처리된 영역에 포인터를 놓습니다. 도움말에 요약 정보가 표시됩니다.
    • 활성 일시중지의 그래픽 표현을 보려면 타임라인 테이블의 활성 행을 펼칩니다.

Cloud Monitoring API

Google Cloud 프로젝트에 속하는 모든 일시중지를 나열하려면 snoozes.list 메서드를 호출합니다.

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes

이 메서드는 snooze 객체 목록을 반환합니다. 예를 들어 프로젝트에 한 번의 일시중지가 있는 경우 snoozes.list 명령어에 대한 응답은 다음과 유사합니다.

{
  "snoozes": [
    {
      "name": "projects/my-project/snoozes/2986663705844383744",
      "criteria": {
        "policies": [
          "projects/my-project/alertPolicies/787884840895011889"
        ]
      },
      "interval": {
        "startTime": "2022-11-08T19:00:20Z",
        "endTime": "2022-11-08T19:05:20Z"
      },
      "displayName": "Snooze1"
    }
  ]
}

특정 일시중지에 대한 정보를 가져오려면 snoozes.get 메서드를 호출하고 프로젝트 ID 및 일시중지 ID를 지정합니다. 이전 응답에서 일시중지 ID는 2986663705844383744입니다.

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}

이 메서드는 단일 snooze 객체를 반환합니다.

{
  "name": "projects/my-project/snoozes/2986663705844383744",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/787884840895011889"
    ]
  },
  "interval": {
    "startTime": "2022-11-08T19:00:20Z",
    "endTime": "2022-11-08T19:05:20Z"
  },
  "displayName": "Snooze1"
}

gcloud CLI

현재 프로젝트의 일시중지를 나열하려면 gcloud monitoring snoozes list 명령어를 실행합니다.

gcloud monitoring snoozes list OPTIONAL_FLAGS

선택적 플래그에 대한 자세한 내용은 gcloud monitoring snoozes list 참조 페이지를 확인하세요.

이 명령어에 대한 응답은 프로젝트의 일시중지 이름 목록이며 YAML 형식입니다. 예를 들어 ID가 my-project인 Google Cloud 프로젝트에 대한 이 명령어에 대한 응답은 단일 항목입니다.

criteria:
  policies:
  - projects/my-project/alertPolicies/12345
  - projects/my-project/alertPolicies/23451
displayName: Maintenance Week
interval:
  endTime: '2023-03-08T04:59:59Z'
  startTime: '2023-03-01T08:00:00Z'
name: projects/my-project/snoozes/98765

특정 일시중지에 대한 세부정보를 나열하려면 gcloud monitoring snoozes describe 명령어를 실행합니다.

gcloud monitoring snoozes describe NAME

예를 들어 이름이 projects/my-project/snoozes/98765인 일시중지에 대한 세부정보를 표시하려면 다음 명령어를 실행합니다.

gcloud monitoring snoozes describe projects/my-project/snoozes/98765

describe 명령어에 잘못된 NAME을 제공하면 응답에 500의 오류 코드와 다음 메시지가 포함됩니다.

Internal error encountered. Please retry after a few seconds. If internal errors persist, contact support at https://cloud.google.com/support/docs.

일시중지 수정

예정 일시중지의 이름과 기간을 수정하고 활성 일시중지의 이름과 종료 시간을 수정할 수 있습니다. 예를 들어 유지보수 기간이 다시 예약되면 일시중지를 수정해야 할 수 있습니다.

과거 일시중지나 일시중지 기준을 수정할 수 없습니다. 그러나 미래 기간에 과거 일시중지를 예약하려면 일시중지를 복사하고 사본에 변경사항을 적용한 후 만들기를 선택합니다.

콘솔

일시중지를 수정하려면 다음을 수행합니다.

  1. Google Cloud 콘솔의 탐색 패널에서 모니터링을 선택한 후  알림을 선택합니다.

    알림으로 이동

  2. 일시중지 창에서 모든 일시중지 확인을 클릭합니다.
  3. 일시중지 목록에서 수정할 일시중지를 찾은 후 옵션 더보기 메뉴에서 일시중지 수정을 선택합니다.
  4. 변경이 완료되면 저장을 클릭합니다.

Cloud Monitoring API

기존 일시중지를 수정하려면 Snooze 엔드포인트에 PATCH 요청을 실행하여 snoozes.patch 메서드를 호출합니다. 수정된 snooze 객체를 제공하고 수정된 필드를 식별하는 쿼리 매개변수를 포함해야 합니다. curl을 사용할 때는 쿼리 매개변수가 URL로 인코딩되어야 합니다.

예정된 일시중지의 경우 이름과 기간을 수정할 수 있습니다. 활성 일시중지의 경우 이름과 종료 시간을 수정할 수 있습니다. 이전 일시중지는 수정할 수 없습니다.

일시중지의 displayName을 업데이트하려면 일시중지 객체를 설명하고 표시 이름을 업데이트하는 JSON 파일 my-updated-snooze.json을 만듭니다. 그런 후 다음 명령어를 실행하세요.

curl -d @my-updated-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-X PATCH https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}?updateMask=displayName

이 메서드는 my-updated-snooze.json 파일의 콘텐츠와 동일한 snooze 객체를 반환합니다.

{
  "name": "projects/my-project/snoozes/2986665388391530496",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/7164333552684403347"
    ]
  },
  "interval": {
    "startTime": "2022-11-08T22:26:05Z",
    "endTime": "2022-11-08T22:31:05Z"
  },
  "displayName": "Updated snooze name"
}

gcloud CLI

일시중지를 수정하려면 gcloud monitoring snoozes update 명령어를 실행합니다. 표시 이름, 시작 시간, 종료 시간을 업데이트할 수 있습니다.

gcloud monitoring snoozes update NAME OPTIONAL_FLAGS

update 명령어의 옵션 목록은 gcloud monitoring snoozes update 참조 페이지를 확인하세요.

예를 들어 일시중지의 표시 이름을 projects/my-project/snoozes/98765로 변경하려면 다음 명령어를 실행합니다.

gcloud monitoring snoozes update projects/my-project/snoozes/98765  --display-name="March Maintenance"

일시중지 종료 또는 취소

활성 일시중지에 지정된 기준과 일치하는 리소스에 대한 알림을 받으려면 일시중지를 종료합니다. 예를 들어 계획된 유지보수가 예상보다 빨리 완료되면 일시중지를 종료할 수 있습니다.

더 이상 원하지 않는 예정 일시중지가 있으면 일시중지를 취소합니다. 취소 작업은 기간을 0으로 설정하며 일시중지가 이전 상태로 전환됩니다.

콘솔

활성 일시중지를 종료하거나 예정된 일시중지를 취소하려면 다음을 수행합니다.

  1. Google Cloud 콘솔의 탐색 패널에서 모니터링을 선택한 후  알림을 선택합니다.

    알림으로 이동

  2. 일시중지 창에서 모든 일시중지 확인을 클릭합니다.
  3. 일시중지 목록에서 종료 또는 취소할 일시중지를 찾고 다음 중 하나를 수행합니다.

    • 활성 일시중지를 종료하려면 옵션 더보기 메뉴에서 지금 종료를 선택합니다.
    • 예정된 일시중지를 취소하려면 옵션 더보기 메뉴에서 일시중지 취소를 선택합니다.

Cloud Monitoring API

활성 일시중지를 종료하려면 다시 일시중지를 수정하고 종료 시간을 현재 시간으로 설정합니다. 자세한 내용은 일시중지 수정을 참조하세요.

예정된 일시중지를 취소하려면 일시중지를 수정하고 종료 시간을 일시중지 시작 시간으로 설정합니다. 시작 시간은 미래여야 합니다. 자세한 내용은 일시중지 수정을 참조하세요.

gcloud CLI

활성 일시중지를 종료하거나 예정된 일시중지를 취소하려면 gcloud monitoring snoozes cancel 명령어를 실행합니다.

gcloud monitoring snoozes cancel NAME

예를 들어 이름이 projects/my-project/snoozes/98765인 일시중지를 취소하려면 다음 명령어를 실행합니다.

gcloud monitoring snoozes cancel projects/my-project/snoozes/98765

일시중지 복사

기존 일시중지를 다른 일시중지의 템플릿으로 사용하려면 복사본을 만듭니다. 일시중지를 복사하면 원래 일시중지의 값으로 설정된 시작 시간을 제외한 모든 필드가 일시중지 편집기에서 열립니다. 만들기를 클릭하기 전에 모든 필드를 수정할 수 있습니다.

콘솔을 사용하여 일시중지를 복사하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔의 탐색 패널에서 모니터링을 선택한 후  알림을 선택합니다.

    알림으로 이동

  2. 일시중지 창에서 모든 일시중지 확인을 클릭합니다.
  3. 일시중지 목록에서 수정할 일시중지를 찾은 후 옵션 더보기 메뉴에서 일시중지 복사를 선택합니다.
  4. 수정 사항을 복사본에 적용한 후 만들기를 클릭합니다.

다음 단계