이 가이드에서는 Cloud Monitoring을 사용하여 App Engine 가변형 환경에서 실행되는 Python Hello World 앱의 업타임 알림을 설정하는 방법을 보여줍니다. 업타임 알림은 앱에서 트래픽이 발생하지 않는 시점을 알려줍니다. Compute Engine 또는 Google Kubernetes Engine (GKE)에서 실행되는 앱의 업타임 알림을 설정할 수도 있습니다.
목표
- 기본 Hello World 앱을 실행합니다.
- 앱이 HTTP '200' 상태 코드를 반환하는지 모니터링하는 업타임 체크를 만듭니다.
- 업타임 체크에 실패할 때 이메일 메시지를 보내는 알림을 만듭니다.
- 앱을 다시 시작하여 알림을 트리거합니다.
비용
Monitoring은 현재 베타 사용자에게 무료로 제공됩니다.
시작하기 전에
- 계정에 로그인합니다. Google Cloud 를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. Google Cloud신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
샘플 앱 복제
샘플 앱은 GitHub의 GoogleCloudPlatform/getting-started-python에 있습니다.
저장소를 복제합니다.
git clone https://github.com/GoogleCloudPlatform/getting-started-python.git샘플 디렉토리로 이동합니다.
cd getting-started-python/gce앱은 'Hello World!'만 반환하므로 구성이 필요 없고 즉시 실행할 수 있습니다.
gcloud app deploy반환된 메시지를 보려면 브라우저에 다음 URL을 입력하세요.
https://PROJECT_ID.REGION_ID.r.appspot.com다음을 바꿉니다.
PROJECT_ID: 프로젝트 ID Google CloudREGION_ID: App Engine이 앱에 할당하는 코드 입니다.
가동시간 확인 만들기
앱을 배포한 후 Monitoring을 사용하여 업타임 체크를 만들 수 있습니다. 이 검사는 배포된 앱이 계속해서 핑하여 정상 응답을 반환하는지 확인합니다.
-
콘솔에서
업타임 체크 페이지로 이동합니다. Google Cloud
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.
- 업타임 체크 만들기 를 클릭합니다.
확인에
Check Hello World와 같은 제목을 지정하고 다음 을 클릭합니다.목표 섹션에서 모니터링할 업타임 체크를 지정합니다.
- App Engine에 배포했으므로 리소스 유형을 URL 대신 App Engine으로 변경합니다. (URL은 Compute Engine 인스턴스에서 맞춤 URL을 생성하는 데 사용됩니다.)
- 업타임 체크로 모니터링할 서비스를 선택합니다.
- 경로를 비워두면 메인 색인 페이지로 기본 설정됩니다.
- 업타임 체크 빈도를 기본값인 1분으로 둡니다.
- 다음을 클릭합니다.
응답 확인 필드를 기본값으로 두고 다음을 클릭합니다.
경고 및 알림 섹션에서 알림이 발생할 경우 알림을 받는 방법을 지정합니다.
- 전환 라벨이 알림 사용 설정됨으로 되어 있는지 확인합니다.
- 이름 및 기간 필드는 기본값으로 둡니다.
알림 채널을 알림 정책에 추가하려면 알림 채널 라벨이 지정된 텍스트 상자에서 메뉴를 클릭합니다. 추가할 채널을 선택하고 확인을 클릭합니다. 알림은 각 채널 유형별로 알파벳순으로 그룹화됩니다.
체크박스 목록에 항목을 추가하려면 알림 채널 관리를 클릭하고 안내를 따릅니다. 이 대화상자로 돌아오면 새로고침 refresh을 클릭합니다.
만들기를 클릭합니다. 만들기 작업이 성공하면 확인 및 알림 생성됨 메시지가 표시된 후 업타임 체크 대시보드 페이지가 표시됩니다.
업타임 체크 대시보드에 새 업타임 체크가 나열됩니다. 확인 이름을 클릭하면 해당 업타임 체크의 세부정보 뷰가 열립니다. 이 뷰에는 여러 차트를 표시하고 업타임 비율 및 구성 정보가 표시되고 구성된 알림 정책이 나열됩니다. 정책을 보려면 정책 이름을 클릭합니다.
알림 페이지에서 시작하여 알림 정책을 확인할 수도 있습니다. 알림 페이지에서 정책 창에 정책의 하위 집합이 표시됩니다. 모든 정책 목록을 보려면 모든 정책 보기를 클릭합니다.
중단 시뮬레이션
이제 업타임 체크가 생성되었으므로 HTTP 200 OK 응답 대신 HTTP 404 Sorry, we can't find that page 오류로 응답하도록 앱을 변경하여 중단을 시뮬레이션할 수 있습니다.
다음 코드는 Hello World 앱이 'Hello World!' 메시지만 반환하는 것과 응답 상태 코드가 기본값인
200 OK로 설정된 것을 보여줍니다. Hello World 앱에서 이 코드를 보려면 뷰 함수를 사용하세요.Hello World 앱이 HTTP
404오류 코드를 반환하도록 하려면 반환 값의 두 번째 부분에404값을 추가합니다.return 'Hello World', 404
의도적으로 손상된 앱을 배포합니다.
gcloud app deploy
30분 이내에 업타임 체크가 실패했음을 알리는 이메일 메시지가 전송됩니다.
정리
이 가이드에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트를 유지하고 개별 리소스를 삭제하세요.
비용이 청구되지 않도록 하는 가장 쉬운 방법은 가이드에서 만든 프로젝트를 삭제하는 것입니다.
프로젝트를 삭제하는 방법은 다음과 같습니다.
- 콘솔에서 리소스 관리 페이지로 이동합니다. Google Cloud
- 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
- 대화상자에서 프로젝트 ID를 입력한 후 종료 를 클릭하여 프로젝트를 삭제합니다.