가동시간 알림 설정

이 가이드에서는 Google Stackdriver를 사용하여 Python Hello World 애플리케이션의 가동시간 알림을 설정하는 방법을 보여줍니다. 가동시간 알림을 사용하면 애플리케이션에서 트래픽을 전달하지 않을 때마다 알림을 받을 수 있습니다. 이 가이드에서는 App Engine 가변형 환경에서 Hello World 애플리케이션의 가동시간 알림을 설정하는 방법에 대해 설명합니다. Google Compute Engine 또는 Google Kubernetes Engine에 배포된 애플리케이션의 가동시간 알림을 설정할 수도 있습니다.

목표

  • 기본 'Hello World' 앱 배포
  • 애플리케이션이 200 HTTP 응답을 반환하는지 모니터링하는 가동시간 확인 만들기
  • 가동시간 확인이 실패할 때 이메일을 발송하는 알림 정책 만들기
  • 404 응답을 반환하고 알림을 트리거하여 이메일을 받을 수 있도록 앱 재배포

비용

이 가이드에서는 비용이 청구될 수 있는 다음과 같은 Cloud Platform 구성요소를 사용합니다.

  • Google App Engine
  • Google Stackdriver Monitoring

Stackdriver Monitoring은 현재 베타 사용자에게 무료로 제공됩니다.

가격 계산기를 사용하여 예상 사용량을 기준으로 예상 비용을 산출합니다. Cloud Platform 신규 사용자는 무료 평가판을 이용할 수 있습니다.

시작하기 전에

  1. Google 계정에 로그인합니다.

    아직 계정이 없으면 새 계정을 등록하세요.

  2. Google Cloud Platform 프로젝트를 선택하거나 만듭니다.

    리소스 관리 페이지로 이동

  3. Google Cloud Platform 프로젝트에 결제가 사용 설정되어 있는지 확인하세요.

    결제 사용 설정 방법 알아보기

샘플 애플리케이션 복제

샘플 애플리케이션은 GitHub(GoogleCloudPlatform/getting-started-python)에서 확인할 수 있습니다.

  1. 저장소를 복제합니다.

    git clone https://github.com/GoogleCloudPlatform/getting-started-python.git
    
  2. 샘플 디렉토리로 이동합니다.

    cd getting-started-python/1-hello-world
    

애플리케이션이 단순히 'Hello World'를 반환하므로 구성이 필요 없고 즉시 배포할 수 있습니다.

gcloud app deploy

이제 Hello World 메시지가 표시되어야 합니다.

https://[YOUR-PROJECT-ID].appspot.com

가동시간 확인 만들기

앱이 배포되면 Google Stackdriver Monitoring을 사용하여 배포된 애플리케이션을 지속적으로 핑하고 정상 상태 응답을 반환하는지 확인하는 가동시간 확인을 만들 수 있습니다. Stackdriver를 사용하려면 프로젝트가 Stackdriver 계정에 등록되어 있어야 합니다.

Stackdriver를 사용하려면 프로젝트가 작업공간에 있어야 합니다.

  1. Google Cloud Platform 콘솔에서 Stackdriver > 모니터링을 선택합니다.

    모니터링으로 이동

    프로젝트가 작업공간에 없으면 다음 메시지가 표시됩니다.

    Stackdriver 계정이 없음

  2. 새 Stackdriver 계정 만들기를 클릭한 후 계속을 클릭합니다. 다음 페이지가 표시됩니다.

    Stackdriver 계정 만들기

  3. 프로젝트 이름이 표시되면 계정 만들기를 클릭합니다.

  4. '모니터링할 Google Cloud Platform 프로젝트 추가' 페이지에서 계속을 클릭하여 건너뜁니다.

  5. 'AWS 계정 모니터링' 페이지에서 완료를 클릭하여 건너뜁니다.

  6. 몇 초 후 다음과 같은 메시지가 표시됩니다.

    완료된 초기 수집

    모니터링 시작을 클릭합니다.

  7. '이메일로 보고서 받기' 페이지에서 보고서 없음계속을 클릭합니다.

  8. 작업공간 대시보드가 표시됩니다. 필요 없는 경우 'Stackdriver 시작하기' 배너를 닫습니다.

이제 Stackdriver 콘솔이 표시되고 가동시간 확인을 만들 수 있습니다. 알림에서 가동시간 확인을 클릭한 후 가동시간 확인 만들기를 클릭합니다.

  1. 가동시간 확인을 자동으로 만들 수 있는 창이 표시됩니다. 수동으로 구성하려면 나중에를 클릭합니다.
  2. 확인에 'Hello World 확인'과 같은 제목을 지정합니다.
  3. App Engine에 배포했으므로 Compute Engine 인스턴스에서 커스텀 URL을 타겟팅하는 데 사용하는 URL 대신 App Engine으로 리소스 유형을 변경합니다.
  4. 기본 색인 페이지가 기본값으로 설정되도록 경로를 비워둡니다.
  5. 알림 데모가 더 빠르게 작동하도록 확인 주기를 1분으로 변경합니다.

알림 정책 만들기

확인을 만든 후 연관된 알림 정책을 만들라는 메시지가 자동으로 표시됩니다. 알림 정책을 사용하면 Stackdriver에서 실패한 가동시간 확인과 같은 이슈를 사용자에게 알리는 방법을 관리할 수 있습니다.

  1. 알림 정책 만들기를 클릭합니다. 정책에 'Hello World 가동시간 확인 정책'과 같은 이름을 지정합니다.

  2. 메시지를 따르는 경우 알림 조건이 기존의 가동시간 확인으로 미리 채워져 있어야 합니다. 그렇지 않으면 다른 조건 추가 > 가동시간 확인 상태를 클릭하고 다시 만들 수 있습니다.

  3. 이 알림 정책에 대한 이메일을 받으려면 알림에서 이메일 방법을 유지하고 알림 추가를 클릭하여 이메일 주소를 입력합니다.

  4. 저장을 클릭하여 이 정책을 저장합니다.

중단 시뮬레이션

이제 확인이 만들어졌으므로 200 OK 응답이 아니라 HTTP 404 찾을 수 없음 오류로 응답하도록 앱을 변경하여 중단을 시뮬레이션할 수 있습니다. Hello World 애플리케이션에서 뷰 함수를 보면 현재 'Hello World' 메시지만 반환하고 응답의 상태 코드는 기본적으로 200 OK입니다.

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    """Return a friendly HTTP greeting."""
    return 'Hello World!'

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=8080)

404 HTTP 오류 코드를 반환하도록 하려면 반환 줄을 변경하여 404 값을 반환 값의 두 번째 부분에 추가하면 됩니다.

return 'Hello World', 404

의도적으로 손상된 앱을 배포합니다.

gcloud app deploy

30분 이내에 가동시간 확인이 실패했다는 이메일이 전달됩니다.

삭제

이 가이드에서 사용한 리소스 비용이 Google Cloud Platform 계정에 청구되지 않도록 하는 방법은 다음과 같습니다.

청구되지 않도록 하는 가장 쉬운 방법은 가이드에서 만든 프로젝트를 삭제하는 것입니다.

프로젝트를 삭제하는 방법은 다음과 같습니다.

  1. GCP Console에서 프로젝트 페이지로 이동합니다.

    프로젝트 페이지로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 다음 종료를 클릭하여 프로젝트를 삭제합니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...