Skip to content

1️⃣1️⃣ Monitoring & Logging - Overview

Learn observability on Google Cloud Platform.


πŸ“‹ Table of Contents

  1. Introduction
  2. Observability Pillars
  3. Services Comparison
  4. Decision Framework
  5. Architecture Patterns
  6. Cost Considerations
  7. Quick Reference

Introduction

GCP provides comprehensive observability tools to monitor, log, trace, and debug your applications and infrastructure.

Observability Stack

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Google Cloud Operations                β”‚
β”‚              (formerly Stackdriver)                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
β”‚  β”‚  Cloud   β”‚  β”‚  Cloud   β”‚  β”‚  Cloud   β”‚        β”‚
β”‚  β”‚Monitoringβ”‚  β”‚ Logging  β”‚  β”‚  Trace   β”‚        β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β”‚
β”‚                                                     β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”        β”‚
β”‚  β”‚  Error   β”‚  β”‚ Cloud    β”‚  β”‚ Cloud    β”‚        β”‚
β”‚  β”‚Reporting β”‚  β”‚ Profiler β”‚  β”‚ Debugger β”‚        β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Observability Pillars

1. Metrics (Cloud Monitoring)

What: Time-series data about system and application performance

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      Cloud Monitoring               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Metrics Collection:                β”‚
β”‚  β€’ CPU utilization                  β”‚
β”‚  β€’ Memory usage                     β”‚
β”‚  β€’ Request latency                  β”‚
β”‚  β€’ Error rates                      β”‚
β”‚  β€’ Custom metrics                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Features:                          β”‚
β”‚  β€’ Dashboards                       β”‚
β”‚  β€’ Alerting policies                β”‚
β”‚  β€’ Uptime checks                    β”‚
β”‚  β€’ SLO monitoring                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Use Cases: - Performance monitoring - Capacity planning - SLA/SLO tracking - Alerting and notifications - Trend analysis

2. Logs (Cloud Logging)

What: Structured and unstructured log data from applications and infrastructure

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚        Cloud Logging                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Log Types:                         β”‚
β”‚  β€’ Application logs                 β”‚
β”‚  β€’ Audit logs                       β”‚
β”‚  β€’ System logs                      β”‚
β”‚  β€’ Access logs                      β”‚
β”‚  β€’ Security logs                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Features:                          β”‚
β”‚  β€’ Log Explorer                     β”‚
β”‚  β€’ Log-based metrics                β”‚
β”‚  β€’ Log sinks                        β”‚
β”‚  β€’ Log retention                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Use Cases: - Debugging - Audit trails - Security analysis - Compliance - Troubleshooting

3. Traces (Cloud Trace)

What: Distributed tracing for request flows across services

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         Cloud Trace                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Request Flow:                      β”‚
β”‚  API Gateway β†’ Service A            β”‚
β”‚      ↓                              β”‚
β”‚  Service A β†’ Service B              β”‚
β”‚      ↓                              β”‚
β”‚  Service B β†’ Database               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Features:                          β”‚
β”‚  β€’ Latency analysis                 β”‚
β”‚  β€’ Performance insights             β”‚
β”‚  β€’ Bottleneck detection             β”‚
β”‚  β€’ Request visualization            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Use Cases: - Performance optimization - Latency analysis - Microservices debugging - Request flow visualization - Bottleneck identification

4. Errors (Error Reporting)

What: Real-time error tracking and alerting

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚       Error Reporting               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Error Tracking:                    β”‚
β”‚  β€’ Exception monitoring             β”‚
β”‚  β€’ Error grouping                   β”‚
β”‚  β€’ Stack traces                     β”‚
β”‚  β€’ Error trends                     β”‚
β”‚  β€’ Notifications                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Features:                          β”‚
β”‚  β€’ Automatic detection              β”‚
β”‚  β€’ Error grouping                   β”‚
β”‚  β€’ Alerting                         β”‚
β”‚  β€’ Integration with logs            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Use Cases: - Error tracking - Exception monitoring - Quality assurance - Incident response - Bug tracking


Services Comparison

Feature Matrix

Service Purpose Data Type Retention Cost Model
Cloud Monitoring Metrics & alerts Time-series 6 weeks (default) Per metric
Cloud Logging Log management Structured/text 30 days (default) Per GB ingested
Cloud Trace Distributed tracing Trace spans 30 days Per span
Error Reporting Error tracking Exceptions 30 days Free
Cloud Profiler Performance profiling CPU/Memory 30 days Free
Cloud Debugger Live debugging Snapshots Real-time Free

Decision Framework

When to Use Each Service

Cloud Monitoring: - Need to track system metrics - Set up alerts for anomalies - Monitor SLAs/SLOs - Create dashboards - Track custom business metrics

Cloud Logging: - Debug application issues - Audit user actions - Compliance requirements - Security analysis - Long-term log retention

Cloud Trace: - Microservices architecture - Performance optimization - Latency issues - Request flow analysis - Distributed systems

Error Reporting: - Track application errors - Monitor exception rates - Quick error triage - Production monitoring - Quality metrics


Architecture Patterns

Pattern 1: Full Observability Stack

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         Application                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               |
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    v          v          v
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚Metrics β”‚ β”‚ Logs   β”‚ β”‚Traces  β”‚
β””β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
    v          v          v
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Cloud Operations Suite       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β€’ Monitoring                  β”‚
β”‚  β€’ Logging                     β”‚
β”‚  β€’ Trace                       β”‚
β”‚  β€’ Error Reporting             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         |
         v
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Alerting & Dashboards        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Pattern 2: Log Aggregation

Multiple Sources
    |
    β”œβ”€> GKE Pods
    β”œβ”€> Cloud Run
    β”œβ”€> Compute Engine
    β”œβ”€> Cloud Functions
    |
    v
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Cloud Logging     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
           |
    β”Œβ”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”
    v      v      v
β”Œβ”€β”€β”€β”€β”€β”€β”β”Œβ”€β”€β”€β”€β”€β”€β”β”Œβ”€β”€β”€β”€β”€β”€β”
β”‚BigQ. β”‚β”‚Cloud β”‚β”‚Pub/  β”‚
β”‚      β”‚β”‚Store β”‚β”‚Sub   β”‚
β””β”€β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”€β”˜β””β”€β”€β”€β”€β”€β”€β”˜

Pattern 3: SLO Monitoring

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      Service Level Objectives       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  Availability: 99.9%                β”‚
β”‚  Latency: p95 < 200ms               β”‚
β”‚  Error Rate: < 0.1%                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               v
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      Cloud Monitoring               β”‚
β”‚  β€’ SLI tracking                     β”‚
β”‚  β€’ Error budget                     β”‚
β”‚  β€’ Burn rate alerts                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               v
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚      Alerting & Dashboards          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Cost Considerations

Pricing Overview

Cloud Monitoring: - First 150 MB/month: Free - Additional data: $0.2580 per MB - API calls: $0.01 per 1,000 calls

Cloud Logging: - First 50 GB/month: Free - Additional data: $0.50 per GB - Storage: $0.01 per GB/month

Cloud Trace: - First 2.5 million spans/month: Free - Additional: $0.20 per million spans

Error Reporting: - Free (no charge)

Cost Optimization

# Set log retention policies
gcloud logging sinks create my-sink \
  storage.googleapis.com/my-bucket \
  --log-filter='resource.type="gce_instance"'

# Exclude verbose logs
gcloud logging exclusions create exclude-debug \
  --log-filter='severity<WARNING'

# Sample high-volume logs
gcloud logging sinks create sampled-logs \
  bigquery.googleapis.com/projects/my-project/datasets/logs \
  --log-filter='sample(insertId, 0.1)'

Quick Reference

Cloud Monitoring

# Create alert policy
gcloud alpha monitoring policies create \
  --notification-channels=CHANNEL_ID \
  --display-name="High CPU Alert" \
  --condition-display-name="CPU > 80%" \
  --condition-threshold-value=0.8

# Create dashboard
gcloud monitoring dashboards create --config-from-file=dashboard.json

Cloud Logging

# View logs
gcloud logging read "resource.type=gce_instance" --limit 10

# Create log sink
gcloud logging sinks create my-sink \
  bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID

# Create log-based metric
gcloud logging metrics create error_count \
  --description="Count of error logs" \
  --log-filter='severity>=ERROR'

Cloud Trace

# List traces
gcloud trace list-traces --limit=10

# Get trace details
gcloud trace get TRACE_ID

Best Practices

Monitoring

βœ… Define clear SLIs and SLOs
βœ… Set up meaningful alerts
βœ… Avoid alert fatigue
βœ… Use dashboards effectively
βœ… Monitor golden signals (latency, traffic, errors, saturation)
βœ… Implement custom metrics for business KPIs
βœ… Regular review of monitoring setup

Logging

βœ… Use structured logging
βœ… Include correlation IDs
βœ… Set appropriate log levels
βœ… Implement log sampling for high-volume logs
βœ… Use log sinks for long-term retention
βœ… Exclude sensitive data from logs
βœ… Regular log analysis

Tracing

βœ… Implement distributed tracing
βœ… Use consistent trace context
βœ… Sample traces appropriately
βœ… Monitor critical paths
βœ… Analyze latency patterns

Security

βœ… Enable audit logging
βœ… Monitor security events
βœ… Set up security alerts
βœ… Regular security reviews
βœ… Implement least privilege for log access


Next Steps

  1. Cloud Monitoring - Metrics and alerting
  2. Cloud Logging - Log management
  3. Cloud Trace - Distributed tracing
  4. Error Reporting - Error tracking
  5. Cloud Profiler - Performance profiling
  6. Best Practices - Production guidelines

Additional Resources


Last Updated: March 2026
Status: βœ… Complete