Google Cloud Observability에는 에이전트형 애플리케이션을 비롯한 애플리케이션의 동작, 상태, 성능을 이해하는 데 도움이 되는 모니터링 가능성 서비스가 포함됩니다. 애플리케이션이 작동하는 방식과 구성요소가 연결되는 방식을 이해하면 예기치 않은 변경사항을 빠르고 효과적으로 예측, 식별, 대응할 수 있습니다.
이 문서에는 다음 정보가 포함되어 있습니다.
- 모니터링 가능성, 에이전트 모니터링 가능성, 애플리케이션 모니터링 가능성, APM과 같은 용어의 정의
- 신뢰할 수 있는 애플리케이션을 개발하고 유지관리하기 위한 관측 가능성 서비스의 이점
- Google Cloud Observability가 애플리케이션 및 인프라 상태를 모니터링하고 유지관리하는 데 도움이 되는 방법
- 에서 모니터링 가능성을 시작하는 단계 Google Cloud
모니터링 가능성
모니터링 가능성 은 에이전트형 애플리케이션을 비롯한 애플리케이션과 해당 운영 환경의 상태를 이해하는 데 도움이 되는 원격 분석 데이터 를 수집하고 분석하는 종합적인 접근 방식입니다. 원격 분석 데이터에는 로그 데이터, 측정항목 데이터, trace 데이터가 포함됩니다. 프롬프트 및 응답과 같이 애플리케이션에서 생성하는 다른 데이터도 포함될 수 있습니다. 원격 분석 데이터는 애플리케이션의 상태와 성능을 이해하는 데 필요한 정보를 제공합니다.
- 측정항목 데이터
- 측정항목 데이터는 시스템에서 정기적으로 측정하는 상태 또는 성능에 대한 수치 데이터입니다(예: CPU 사용률 및 요청 지연 시간). 측정항목 데이터가 예기치 않게 변화하면 조사해야 할 문제가 있을 수 있습니다. 시간이 지남에 따라 패턴을 분석하여 사용 패턴을 이해하고 리소스 요구사항을 예측할 수도 있습니다.
- 로그 데이터
로그는 일정 기간 동안 생성된 시스템 또는 애플리케이션 활동의 기록입니다. 각 로그는 타임스탬프가 지정된 로그 항목 모음이며 각 로그 항목은 특정 이벤트를 설명합니다.
로그 데이터는 애플리케이션의 특정 부분에서 발생한 상황을 이해하는 데 도움이 되는 풍부하고 자세한 정보를 담은 경우가 많습니다. 하지만 로그 데이터는 한 애플리케이션 구성요소의 변경사항이 다른 구성요소의 활동과 어떻게 연관되는지 효과적으로 보여주지 않습니다. Trace 데이터는 이 격차를 메울 수 있습니다.
- Trace 데이터
Trace 는 요청이 분산 애플리케이션의 구성요소를 통과하는 경로를 나타냅니다. 즉, 각 trace는 단일 엔드 투 엔드 작업을 나타냅니다. trace는 스팬으로 구성되므로 단일 함수 또는 작업의 레코드인 요청 흐름을 추적하고 지연 시간 데이터를 검사할 수 있습니다. 이 정보는 문제의 근본 원인을 파악하는 데 도움이 됩니다.
에이전트형 애플리케이션의 경우 trace는 에이전트가 수행하는 작업을 캡처합니다. 예를 들어 trace는 MCP 호출을 캡처할 수 있습니다.
- 기타 데이터
로그 데이터, 측정항목 데이터, trace 데이터를 다른 관련 정보와 함께 분석하면 유용한 정보를 더 얻을 수 있습니다. 예를 들어 로그 데이터에서 사고의 심각도를 나타내는 라벨이나 고객 ID는 문제 해결 및 디버깅에 유용한 컨텍스트를 제공합니다.
에이전트 모니터링 가능성
에이전트 모니터링 가능성 은 소프트웨어 에이전트, 특히 대규모 언어 모델 (LLM)을 사용하여 빌드된 AI 기반 에이전트의 내부 상태와 동작을 이해하는 방법을 의미합니다. AI 에이전트는 비결정적이고 복잡합니다. 따라서 모니터링 가능성은 성능, 안전, 신뢰성을 이해, 디버그, 평가, 개선하는 데 매우 중요합니다.
Google Cloud 는 원격 분석 데이터, AI 리소스 측정항목 데이터, 미해결 이슈와 같은 정보를 표시하는 대시보드를 만드는 애플리케이션 모니터링을 통해 애플리케이션 모니터링 가능성을 지원합니다. 자세한 내용은 이 문서의 에이전트 및 애플리케이션 모니터링 가능성 Google Cloud 섹션을 참조하세요.
애플리케이션 모니터링 가능성 및 APM
애플리케이션 성능 모니터링 (APM) 은 에이전트형 애플리케이션을 비롯한 소프트웨어 애플리케이션의 성능, 가용성, 사용자 환경을 모니터링, 진단, 관리합니다. APM 시스템은 일반적으로 원격 분석 데이터를 표시하는 대시보드와 원격 분석 데이터를 모니터링하는 서비스를 제공합니다. 이러한 시스템은 오류를 식별하는 데 도움이 됩니다.
애플리케이션 모니터링 가능성 은 원격 분석 데이터를 사용하여 애플리케이션의 동작을 이해하는 데 도움이 되는 유용한 정보를 생성합니다.
Google Cloud 는 원격 분석 데이터, AI 리소스 측정항목 데이터, 미해결 이슈와 같은 정보를 표시하는 대시보드를 만드는 애플리케이션 모니터링을 통해 애플리케이션 모니터링 가능성을 지원합니다. 자세한 내용은 이 문서의 에이전트 및 애플리케이션 모니터링 가능성 Google Cloud 섹션을 참조하세요.
모니터링 가능성 서비스
모니터링 가능성 서비스 는 로그 데이터, 측정항목 데이터, trace 데이터와 같은 원격 분석 데이터를 수집, 분석, 상관관계를 파악합니다. 애플리케이션 안정성을 유지하는 데 도움이 되는 다음과 같은 기능을 제공합니다.
- 사용자에게 영향을 미치기 전에 문제를 미리 감지합니다.
- 알려진 문제와 새로운 문제를 모두 해결합니다.
- 개발 중에 애플리케이션을 디버그합니다.
- 애플리케이션 변경사항의 영향을 이해합니다.
- 데이터 탐색을 통해 새로운 유용한 정보를 발견합니다.
모니터링 가능성과 관련된 원칙과 관행을 포함하여 신뢰성 관행에 대한 자세한 내용은 사이트 안정성 엔지니어링: Google의 프로덕션 시스템 운영 방법 책을 참조하세요. 주제에는 분산 시스템 모니터링, 알림, 문제 해결이 포함됩니다.
Google Cloud Observability
Google Cloud Observability의 서비스는 애플리케이션과 기본 인프라에서 모두 원격 분석 데이터를 수집, 분석하고 상관관계를 파악하는 데 도움이 됩니다. 또한 이러한 서비스는 시작하는 데 도움이 되는 기본값을 제공합니다. 예를 들어 애플리케이션 모니터링은 App Hub에 등록된애플리케이션, 서비스, 워크로드의대시보드와 토폴로지 맵을 만듭니다.
원격 분석 데이터 자동 수집
Monitoring, Logging, 및 Trace는 프로젝트를 만들 때 기본적으로 사용 설정되는 서비스입니다. Google Cloud 이러한 서비스는 원격 분석 데이터를 수집, 분석, 시각화하는 핵심 기능을 제공합니다.
- 대부분의 서비스에 대한 원격 분석 데이터를 자동으로 수집합니다. Google Cloud
- 대부분의 Google Cloud 서비스에 대한 감사 로그를 자동으로 수집합니다.
- 원격 분석 데이터를 보고 검사할 수 있는 대시보드 및 원격 분석 탐색기를 비롯한 시각화 서비스를 제공합니다. 예를 들어 Trace 탐색기를 사용하면 멀티모달 프롬프트 및 응답을 비롯한 trace, 스팬, 메타데이터를 볼 수 있습니다. 자세한 내용은 원격 분석 데이터 쿼리 및 보기를 참조하세요.
- 로그 데이터 및 trace 데이터에 대한 SQL 기반 분석 서비스를 제공합니다. 예를 들어 BigQuery를 사용하여 로그 데이터의 URL을 알려진 악성 URL의 공개 데이터 세트와 비교할 수 있습니다.
- 애플리케이션 모니터링 및 원격 분석 모니터링을 제공합니다. 예를 들어 로그 데이터 또는 측정항목 데이터가 지정한 조건을 충족할 때 알림을 보내는 알림 정책을 만들 수 있습니다. 합성 모니터링을 사용하여 애플리케이션의 성능을 테스트할 수도 있습니다.
계측된 애플리케이션에서 원격 분석 데이터를 수집합니다. 계측 은 원격 분석 데이터를 내보내기 위해 애플리케이션에 추가하는 코드입니다.
애플리케이션을 계측하려면 공급업체 및 제품별 API 또는 클라이언트 라이브러리 대신 OpenTelemetry와 같은 오픈소스인 공급업체 중립적인 계측 프레임워크를 사용하는 것이 좋습니다. 이러한 프레임워크에 관한 자세한 내용은 계측 및 모니터링 가능성 및 계측 방법 선택을 참조하세요.
에이전트 및 애플리케이션 모니터링 가능성
애플리케이션 모니터링 은 Google Cloud 에이전트 모니터링 가능성과 애플리케이션 모니터링 가능성을 모두 제공합니다. 이 서비스는 App Hub 애플리케이션, 서비스, 워크로드의 상태와 성능을 이해할 수 있는 대시보드 와 토폴로지 맵을 제공합니다. 또한 AI 리소스의 오류율 및 토큰 사용량과 같은 측정항목을 생성하고 표시합니다. 이러한 측정항목을 생성하기 위해 애플리케이션 모니터링은 OpenTelemetry 생성형 AI 시맨틱 규칙을 따르는 애플리케이션별 라벨과 이벤트를 사용하여 trace 데이터를 필터링하고 집계합니다.
에이전트 모니터링 가능성의 경우 에이전트 개발 키트 (ADK) 프레임워크 를 사용하여 에이전트를 빌드하는 것이 좋습니다. ADK는 OpenTelemetry를 사용하므로 ADK에서 생성하는 원격 분석은 OpenTelemetry 생성형 AI 시맨틱 규칙과 일치합니다.
오류를 디버그하거나, 비용을 모니터링하거나, Gemini Enterprise Agent Platform, 에이전트 게이트웨이, Model Armor 에이전트의 에이전트 동작을 분석하려면 로그, 측정항목, trace 데이터가 필요합니다.
- 로그는 이벤트 및 오류에 관한 정보를 제공합니다.
- 측정항목을 사용하면 지연 시간과 토큰 사용량을 모니터링할 수 있습니다.
- trace는 실행 경로에 관한 정보를 제공하며 모델 호출 수 또는 총 토큰 사용량과 같은 측정항목을 도출하기 위해 분석됩니다. 이러한 도출된 측정항목은 에이전트 성능과 동작에 대한 가시성을 제공합니다. 자세한 내용은 AI 리소스 보기를 참조하세요.
- 프롬프트 및 응답 데이터를 사용하면 Gen AI Evaluation Service를 사용하여 에이전트 품질과 의사 결정을 평가할 수 있습니다.
애플리케이션의 애플리케이션 모니터링 대시보드에는 애플리케이션의 서비스 및 워크로드 목록이 표시됩니다. 예를 들면 Gemini Enterprise 앱, Gemini Enterprise Agent Platform 에이전트 및 MCP 서버가 있습니다.
인프라 유형 또는 App Hub 기능 유형을 사용하여 에이전트형 서비스 및 워크로드를 식별할 수 있습니다. 기능 유형 열은 기본적으로 숨겨져 있습니다.
코드 샘플은 다음을 참조하세요.
오류 식별 지원
Error Reporting은 Cloud Logging의 로그 항목을 분석하여 오류를 찾습니다. Error Reporting에서 오류를 발견하면 연결된 로그 항목에 주석을 달고 오류 그룹을 만듭니다. 이러한 오류 그룹을 탐색하여 오류의 원인과 기록을 파악합니다.
프로파일링 지원
Cloud Profiler를 사용하면 애플리케이션의 CPU 및 메모리 사용량을 분석하여 성능 개선 기회를 파악할 수 있습니다.
시작하기
이 섹션에서는 모니터링 가능성 기능에 익숙해지기 위해 수행할 수 있는 단계를 설명합니다 Google Cloud.
빠른 시작 사용해 보기
빠른 시작을 통해 사용 가능한 서비스에 익숙해지세요.
자동으로 수집된 데이터 보기
대부분의 Google Cloud 서비스는 로그 데이터와 측정항목 데이터를 자동으로 생성합니다. 즉, 추가 구성 없이도 지원되는 Google Cloud 서비스에 대한 몇 가지 모니터링 가능성 데이터를 바로 확인할 수 있습니다.
- Google Kubernetes Engine (GKE), Compute Engine, Cloud SQL과 같은 일부 Google Cloud 서비스는 콘솔에서 기본 대시보드를 제공하여 서비스의 컨텍스트에서 모니터링 가능성 데이터를 확인합니다. Google Cloud
- Compute Engine, GKE, Cloud Run은 기본적으로 시스템 측정항목 데이터와 로그 데이터를 생성합니다. 추가 데이터 수집을 구성합니다.
- Cloud Run Functions 및 App Engine은 측정항목 데이터, 로그 데이터, trace 데이터를 자동으로 생성합니다.
또한 측정항목 탐색기에서 수집한 측정항목 데이터를 차트로 표시하거나, 로그 탐색기에서 로그 데이터를 보거나, Trace에서 trace 데이터를 볼 수 있습니다. 관련 데이터를 함께 검토하려면 커스텀 대시보드를 만듭니다. 예를 들어 가상 머신에 대한 로그 데이터, 실적 측정항목 데이터, 알림 정책이 포함된 대시보드를 만들 수 있습니다.
추가 데이터를 수집하도록 Compute Engine VM 구성
기본적으로 Compute Engine VM은 기본 시스템 측정항목 데이터와 로그 데이터만 수집합니다. 하지만 운영 에이전트를 설치하여 Compute Engine 인스턴스와 애플리케이션에서 문제 해결, 성능 모니터링, 알림을 위한 추가 원격 분석 데이터 를 수집할 수 있습니다. 운영 에이전트는 에이전트형 애플리케이션이 아닙니다. 대신 원격 분석 데이터를 수집하는 결정적 소프트웨어입니다.
- CPU, GPU, 메모리, 프로세스 측정항목 데이터와 같은 호스트 측정항목 데이터를 자동으로 수집합니다.
- Linux VM의 syslog와 Windows VM의 Windows 이벤트 로그와 같은 시스템 로그 데이터를 자동으로 수집합니다.
- 다음과 같은 방법으로 애플리케이션을 모니터링할 수 있습니다.
- 서드 파티 애플리케이션 통합은 Postgres, MongoDB, Java Virtual Machine과 같은 인기 소프트웨어를 위한 것입니다. 이러한 통합에는 사전 구성된 대시보드 및 알림 정책이 포함됩니다.
- Prometheus 측정항목 데이터
- OpenTelemetry 프로토콜 (OTLP) 측정항목 데이터 및 trace 데이터
- 애플리케이션 로그 데이터
- 수집된 원격 분석 데이터의 요약은 운영 에이전트 개요를 참조하세요.
추가 데이터를 수집하도록 GKE 클러스터 구성
기본적으로 GKE 클러스터는 시스템 로그 데이터와 시스템 측정항목 데이터를 Logging 및 Monitoring으로 전송합니다. Google Cloud Managed Service for Prometheus는 서드 파티 측정항목 데이터와 사용자 정의 측정항목 데이터의 수집을 처리합니다.
- 모니터링 가능성 측정항목 데이터 패키지를 사용하여 애플리케이션 및 클러스터 리소스의 상태 를 파악합니다. 예를 들어 컨트롤 플레인 측정항목 데이터는 서비스 가용성 및 지연 시간을 모니터링하는 SLO를 만드는 데 유용합니다.
- Postgres, MongoDB, Redis 등의 서드 파티 애플리케이션을 모니터링합니다. 이러한 통합은 사전 구성된 대시보드 및 알림 정책을 제공합니다.
커스텀 데이터를 수집하도록 Cloud Run 구성
Prometheus 측정항목 데이터를 기록하는 Cloud Run 서비스가 있으면 Prometheus 사이드카를 사용해서 Cloud Monitoring에 측정항목 데이터를 전송할 수 있습니다.
대신 Cloud Run 서비스가 OTLP 측정항목 데이터 를 기록할 경우에는 OpenTelemetry 사이드카를 사용할 수 있습니다. 예시를 보려면 사이드카를 사용하여 OTLP 측정항목 데이터 수집 튜토리얼을 참조하세요.