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, 스팬, 메타데이터를 볼 수 있습니다. 자세한 내용은 원격 분석 데이터 쿼리 및 보기를 참조하세요.
- 로그 및 SQL 기반 분석 서비스를 통해 로그 및 trace 데이터를 분석할 수 있습니다. 예를 들어 BigQuery를 사용하여 로그의 URL을 알려진 악성 URL의 공개 데이터 세트와 비교할 수 있습니다.
- 애플리케이션 및 원격 분석 모니터링을 제공합니다. 예를 들어 로그 또는 측정항목 데이터가 지정한 조건을 충족할 때 알림을 보내는 알림 정책을 만들 수 있습니다. 합성 모니터링을 사용하여 애플리케이션의 성능을 테스트할 수도 있습니다.
계측된 애플리케이션에서 원격 분석을 수집합니다. 계측 은 원격 분석 데이터를 내보내기 위해 애플리케이션에 추가하는 코드입니다.
애플리케이션을 계측하려면 공급업체 및 제품별 API 또는 클라이언트 라이브러리 대신 OpenTelemetry와 같은 오픈소스인 공급업체 중립적인 계측 프레임워크를 사용하는 것이 좋습니다. 이러한 프레임워크에 대한 자세한 내용은 계측 및 모니터링 가능성 및 계측 방법 선택을 참조하세요.
에이전트 및 애플리케이션 모니터링 가능성
애플리케이션 모니터링 은 Google Cloud 에이전트 모니터링 가능성과 애플리케이션 모니터링 가능성을 모두 제공합니다. 이 서비스는 App Hub 애플리케이션, 서비스, 워크로드의 상태와 성능을 파악할 수 있는 대시보드 와 토폴로지 맵을 제공합니다. 또한 AI 리소스의 오류율 및 토큰 사용량과 같은 측정항목을 생성하고 표시합니다. 이러한 측정항목을 생성하기 위해 애플리케이션 모니터링은 OpenTelemetry GenAI 시맨틱 규칙을 따르는 애플리케이션별 라벨과 이벤트를 사용하여 trace 데이터를 필터링하고 집계합니다.
에이전트 모니터링 가능성의 경우 에이전트 개발 키트 (ADK) 프레임워크 를 사용하여 에이전트를 빌드하는 것이 좋습니다. ADK는 OpenTelemetry를 사용하므로 ADK에서 생성하는 원격 분석은 OpenTelemetry GenAI 시맨틱 규칙과 일치합니다.
실패를 디버깅하거나, 비용을 모니터링하거나, Gemini Enterprise 에이전트 플랫폼, 에이전트 게이트웨이, Model Armor 에이전트의 에이전트 동작을 분석하려면 로그, 측정항목, trace 데이터가 필요합니다.
- 로그는 이벤트 및 오류에 대한 정보를 제공합니다.
- 측정항목을 사용하면 지연 시간과 토큰 사용량을 모니터링할 수 있습니다.
- trace는 실행 경로에 대한 정보를 제공하며 모델 호출 수 또는 총 토큰 사용량과 같은 측정항목을 도출하기 위해 분석됩니다. 이러한 파생 측정항목은 에이전트 성능과 동작에 대한 가시성을 제공합니다. 자세한 내용은 AI 리소스 보기를 참조하세요.
- 프롬프트 및 응답 데이터를 사용하면 Gen AI Evaluation Service를 사용하여 에이전트 품질과 의사 결정을 평가할 수 있습니다.
애플리케이션의 애플리케이션 모니터링 대시보드에는 애플리케이션의 서비스 및 워크로드 목록이 표시됩니다. 예를 들어 Gemini Enterprise 앱, Gemini Enterprise 에이전트 플랫폼 에이전트 및 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, 자바 가상 머신과 같은 인기 소프트웨어를 위한 타사 애플리케이션 통합
- 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 측정항목 수집 튜토리얼을 참조하세요.