애플리케이션 모니터링 설정

이 문서에서는 App Hub에 등록된 애플리케이션의 원격 분석을 볼 수 있도록 Google Cloud 관측 가능성을 구성하는 방법을 설명합니다. 애플리케이션을 배포한 후 App Hub에 등록하거나 애플리케이션 디자인 센터를 사용하여 애플리케이션을 배포할 수 있습니다. 애플리케이션 모니터링을 사용하면 애플리케이션, 서비스, 워크로드의 성능을 파악할 수 있습니다.

시작하기 전에

  • 관측 가능성 범위를 구성할 프로젝트를 식별합니다. 이 프로젝트는 App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트입니다. 예를 들어 폴더의 표시 이름이 My Folder이면 관리 프로젝트의 표시 이름은 My Folder-mp입니다.

  • 관측 가능성 범위를 구성하는 데 필요한 Identity and Access Management (IAM) 역할이 있는지 확인합니다. 필요한 IAM 역할은 로그 데이터 저장을 중앙 집중화할 수 있는 집계된 싱크를 만들 계획인지에 따라 다릅니다.

    싱크 및 범위 구성

    관측 가능성 범위를 구성하고 집계된 로그 싱크를 만드는 데 필요한 권한을 얻으려면 관리자에게 조직에 대한 조직 관리자 (roles/resourcemanager.organizationAdmin) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

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

    범위만 구성

    관측 가능성 범위를 구성하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

    • App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트에 대한 관측 가능성 편집자 (roles/observability.editor)
    • App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트에 있는 로그 구성 작성자 (roles/logging.configWriter)
    • App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트 및 측정항목 범위에 추가하려는 각 프로젝트의 모니터링 관리자 (roles/monitoring.admin)
    • App Hub 호스트 프로젝트 또는 앱 사용 설정 폴더의 관리 프로젝트에 대한 Cloud Trace 사용자 (roles/cloudtrace.user)
    • App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트에 대한 App Hub 뷰어 (roles/apphub.viewer)

    역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

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

관측 가능성 범위 구성

관측 가능성 범위는 탐색기 및 대시보드 페이지에서 표시할 데이터를 검색하는 방식을 제어합니다. 각 Google Cloud 프로젝트에는 단일 관측 가능성 범위가 포함됩니다. 프로젝트의 관측 가능성 범위를 직접 구성하지는 않습니다. 대신 프로젝트에 다음을 구성합니다.

  • 기본 로그 범위

    로그 탐색기 페이지를 열거나 대시보드를 볼 때 애플리케이션의 로그 데이터가 표시되도록 이 범위를 구성합니다. 이 범위에 애플리케이션의 로그 데이터를 저장하는 프로젝트와 로그 보기가 나열되어 있는지 확인합니다.

  • 측정항목 범위

    차트(예: 측정항목 탐색기 페이지를 사용하여 만든 차트) 및 알림 정책이 애플리케이션의 측정항목 데이터를 표시하거나 모니터링할 수 있도록 이 범위를 구성합니다. 이 범위에 애플리케이션의 측정항목 데이터를 저장하는 프로젝트가 나열되어 있는지 확인합니다.

  • 기본 트레이스 범위

    Trace Explorer 페이지를 열 때 애플리케이션의 trace 데이터가 표시되도록 이 범위를 구성합니다. 이 범위에 애플리케이션의 트레이스 데이터를 저장하는 프로젝트가 나열되어 있는지 확인합니다.

이 섹션의 나머지 부분에서는 이러한 범위를 구성하는 방법을 안내합니다.

기본 로그 범위 구성 및 설정

다음 중 하나를 수행합니다.

  • 조직의 모든 로그 데이터를 중앙 집중식 로그 버킷으로 라우팅하는 조직 수준 집계 싱크가 있는 경우 다음을 권장합니다.

    1. 애플리케이션 로그의 중앙 집중식 로그 버킷에 로그 보기를 만듭니다.

    2. App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트에서 로그 범위를 만들고 로그 뷰를 추가한 다음 이 범위를 기본 로그 범위로 설정합니다.

  • 앱 지원 폴더를 사용 중이고 조직 수준의 집계된 싱크 또는 중첩된 폴더가 없는 경우 다음을 따르는 것이 좋습니다.

    1. 앱 지원 폴더의 가로채기 집계 싱크를 만들고 이러한 로그를 로그를 볼 프로젝트의 _Default 로그 버킷으로 라우팅합니다.

    2. 앱 지원 폴더의 관리 프로젝트에서 _Default라는 로그 범위가 기본 로그 범위로 설정되어 있는지 확인합니다. _Default라는 이름의 범위에는 애플리케이션의 중앙 집중식 저장소 위치인 프로젝트의 _Default 로그 버킷에 있는 _AllLogs 뷰가 나열됩니다.

  • 집계된 싱크를 사용하지 않는 경우 App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트의 경우 기본 로그 범위를 구성하여 애플리케이션의 로그 데이터 저장소 위치를 나열합니다. 로그 범위에 프로젝트를 추가하는 대신 로그 데이터를 저장하는 로그 버킷에 로그 뷰를 추가하는 것이 좋습니다.

측정항목 범위 구성

App Hub 호스트 프로젝트 또는 앱 사용 설정 폴더의 관리 프로젝트의 측정항목 범위에 애플리케이션의 측정항목 데이터를 저장하는 모든 프로젝트가 나열되어 있는지 확인합니다.

  • 앱이 사용 설정된 폴더의 경우 Google Cloud Observability는 앱이 사용 설정된 폴더의 프로젝트 목록을 측정항목 범위의 프로젝트 목록과 동기화하려고 시도합니다. 예를 들어 앱 지원 폴더에 프로젝트를 추가하면 해당 프로젝트를 측정항목 범위에 추가하는 명령어가 실행됩니다.

    앱 지원 폴더의 프로젝트 수가 측정항목 범위 할당량(기본값: 측정항목 범위당 프로젝트 375개)을 초과하지 않으면 Google Cloud Observability에서 측정항목 범위의 프로젝트 목록을 앱 지원 폴더의 프로젝트 목록과 동기화할 수 있습니다. 예를 들어 측정항목 범위당 할당량이 375개라고 가정해 보겠습니다. 앱 사용 설정 폴더에 프로젝트가 100개 포함되어 있으면 측정항목 범위에 앱 사용 설정 폴더의 모든 프로젝트가 표시됩니다. 앱 지원 폴더에 프로젝트를 추가하면 측정항목 범위에도 추가됩니다.

    앱 지원 폴더의 프로젝트 수가 측정항목 범위 할당량을 초과하면 측정항목 범위의 프로젝트 목록에 앱 지원 폴더의 모든 프로젝트가 포함되지 않습니다. 예를 들어 할당량이 측정항목 범위당 프로젝트 375개이고 앱 사용 설정 폴더에 프로젝트 380개가 있다고 가정해 보겠습니다. 측정항목 범위에 프로젝트 375개가 추가된 후 할당량이 소진되어 나머지 5개 프로젝트를 추가하려고 하면 실패합니다. 따라서 일부 애플리케이션 데이터는 관리 프로젝트에서 사용할 수 없습니다.

    측정항목 범위 할당량의 사용량을 검토하고 할당량 업데이트를 요청해야 하는지 아니면 측정항목 범위를 수동으로 수정해야 하는지 결정하는 것이 좋습니다. 이 단계에 대한 자세한 내용은 앱 사용 설정 폴더의 측정항목 범위를 참고하세요.

  • App Hub 호스트 프로젝트의 경우 호스트 프로젝트의 측정항목 범위를 구성해야 합니다.

    측정항목 데이터를 저장하는 프로젝트 집합을 변경하는 경우 호스트 프로젝트의 측정항목 범위도 업데이트해야 합니다.

기본 트레이스 범위 구성 및 설정

다음 단계를 따르세요.

  1. App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트에서 트레이스 범위를 만들고 애플리케이션의 트레이스 데이터를 저장하는 프로젝트를 추가합니다. 앱 지원 폴더를 사용하는 경우 해당 폴더에 프로젝트를 추가합니다.

  2. 맞춤 트레이스 범위를 기본 트레이스 범위로 설정합니다.

알림 정책을 App Hub 애플리케이션과 연결

애플리케이션 모니터링 컨텍스트에서 알림 정책을 보려면 알림 정책에 애플리케이션별 라벨을 추가하여 서비스 또는 워크로드와 연결해야 합니다. 이러한 사용자 정의 라벨은 정책에 대해 생성된 모든 이슈에도 포함됩니다. 라벨에 대해 자세히 알아보려면 라벨로 이슈에 주석 추가를 참고하세요. App Hub 라벨 목록은 애플리케이션 텔레메트리 보기를 참고하세요.

Google Cloud 콘솔을 사용하여 알림 정책을 워크로드 또는 서비스와 연결하려면 다음 단계를 따르세요.

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

    알림으로 이동

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

  2. Google Cloud 콘솔의 툴바에서 App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트를 선택합니다.
  3. 알림 정책을 찾아 더보기를 클릭하고 수정을 선택한 다음 알림 및 이름 섹션으로 이동합니다.
  4. 애플리케이션 라벨 섹션에서 애플리케이션을 선택한 다음 워크로드 또는 서비스를 선택합니다.
  5. 정책 저장을 클릭합니다.

이 단계를 완료하면 다음 키가 포함된 라벨이 알림 정책에 연결됩니다. 이러한 라벨은 애플리케이션과 서비스 또는 워크로드를 식별합니다.

  • apphub_application_location
  • apphub_application_id
  • apphub_service_id 또는 apphub_workload_id

Google Cloud CLI, Terraform 또는 Cloud Monitoring API를 사용하여 알림 정책에 사용자 라벨을 추가할 수도 있습니다. 하지만 이전 예에 표시된 라벨 키를 사용해야 합니다. 자세한 내용은 다음을 참조하세요.

액세스 권한 부여

IAM은 로그, 측정항목, trace 데이터에 대한 액세스를 관리합니다. 이 섹션에서는 주 구성원에게 부여할 수 있는 역할을 요약합니다.

  • App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트의 기본 로그 범위에 나열된 로그 뷰에 대한 로그 뷰 접근자(roles/logging.viewAccessor). 로그 뷰에 대한 액세스 권한 부여에 대해 자세히 알아보려면 로그 뷰에 대한 액세스 제어를 참고하세요.

  • App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트 및 기본 로그 범위에 나열된 다른 모든 프로젝트의 로그 뷰어(roles/logging.viewer). 이 역할은 _Default 로그 버킷의 대부분의 로그 항목에 대한 액세스 권한을 부여합니다. 자세한 내용은 Logging 역할을 참고하세요.

  • App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트에 대한 모니터링 편집자 역할(roles/monitoring.editor) 알림 정책을 만들 필요가 없는 사용자의 경우 Monitoring 뷰어 역할(roles/monitoring.viewer)을 부여하는 것이 좋습니다.

  • App Hub 호스트 프로젝트 또는 앱 사용 설정 폴더의 관리 프로젝트 및 기본 trace 범위에 나열된 프로젝트에 대한 Cloud Trace 사용자(roles/cloudtrace.user)

  • App Hub 호스트 프로젝트 또는 앱 지원 폴더의 관리 프로젝트에 있는 App Hub 뷰어(roles/apphub.view)

다음 단계