Skip to main content

cloud-monitoring

Comprehensive observability and monitoring practices for cloud infrastructure and applications

Source facts

Repository
ffsshhttiikk/opencode-agents-skills
Last source activity
February 28, 2026 at 22:48
Detected SKILL.md language
English
Stars
3
Forks
2

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
cloud-monitoring
description
Comprehensive observability and monitoring practices for cloud infrastructure and applications
category
cloud-computing
# Cloud Monitoring ## What I Do I provide comprehensive visibility into cloud infrastructure and applications through metrics collection, log aggregation, distributed tracing, and alerting. I enable teams to understand system behavior, detect anomalies, and maintain service reliability. ## When to Use Me - Monitoring production systems and infrastructure - Troubleshooting application issues - Setting up alerting and on-call procedures - Implementing SLOs and SLIs - Analyzing system performance - Distributed systems observability - Compliance and audit requirements ## Core Concepts - **Metrics**: Quantitative measurements (CPU, latency, error rates) - **Logs**: Textual records of events and errors - **Traces**: End-to-end request tracking across services - **Service Level Indicators (SLIs)**: Metrics measuring service behavior - **Service Level Objectives (SLOs)**: Target reliability thresholds - **Error Budgets**: Allowed unreliability before action required - **Dashboards**: Visual representation of metrics and status - **Alerting**: Notifications when thresholds are breached - **Synthetic Monitoring**: Proactive testing from external locations - **Distributed Tracing**: Tracking requests across service boundaries ## Code Examples **Prometheus Configuration (YAML):** ```yaml # prometheus.yml global: scrape_interval: 15s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: ['alertmanager:9093'] rule_files: - '/etc/prometheus/rules/*.yml' scrape_configs: - job_name: 'kubernetes-nodes' kubernetes_sd_configs: - role: node relabel_configs: - source_labels: [__address__] regex: '(.*):10250' target_label: __address__ replacement: '${1}:9100' - job_name: 'kubernetes-services' kubernetes_sd_configs: - role: service metrics_path: /metrics relabel_configs: - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape] action: keep regex: true --- # rules/high-availability.yml groups: - name: ha-alerts rules: - alert: HighErrorRate expr: | sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) > 0.05 for: 5m labels: severity: critical annotations: summary: "High error rate detected" description: "{{ $labels.service }} error rate is {{ $value | humanizePercentage }}" - alert: HighLatency expr: | histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket[5m])) by (le, service) ) > 2 for: 10m labels: severity: warning annotations: summary: "High latency detected" description: "99th percentile latency for {{ $labels.service }} is {{ $value }}s" ``` **Grafana Dashboard (JSON):** ```json { "dashboard": { "title": "Application Performance Overview", "panels": [ { "title": "Request Rate", "type": "graph", "targets": [ { "expr": "sum(rate(http_requests_total{service=~\"$service\"}[5m])) by (method)", "legendFormat": "{{ method }}" } ], "gridPos": {"h": 8, "w": 12, "x": 0, "y": 0} }, { "title": "Error Rate by Status", "type": "graph", "targets": [ { "expr": "sum(rate(http_requests_total{service=~\"$service\", status=~\"5..\"}[5m])) by (status)", "legendFormat": "{{ status }}" } ], "gridPos": {"h": 8, "w": 12, "x": 12, "y": 0} }, { "title": "P99 Latency", "type": "graph", "targets": [ { "expr": "histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket{service=~\"$service\"}[5m])) by (le))", "legendFormat": "P99" }, { "expr": "histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket{service=~\"$service\"}[5m])) by (le))", "legendFormat": "P95" } ], "gridPos": {"h": 8, "w": 24, "x": 0, "y": 8} } ] }, "templating": { "list": [ { "name": "service", "type": "query", "datasource": "Prometheus", "query": "label_values(http_requests_total, service)" } ] } } ``` **OpenTelemetry Collector (YAML):** ```yaml receivers: otlp: protocols: grpc: http: prometheus: config: scrape_configs: - job_name: 'otel-collector' scrape_interval: 10s static_configs: - targets: ['0.0.0.0:8888'] processors: batch: timeout: 1s send_batch_size: 1024 memory_limiter: check_interval: 1s limit_mib: 1000 spike_limit_mib: 200 resource: attributes: - key: deployment.environment value: production action: upsert exporters: prometheusremotewrite: endpoint: "https://prometheus-remote-write.example.com/api/v1/write" tls: insecure: false otlp: endpoint: "jaeger-collector:4317" tls: insecure: false logging: loglevel: info service: pipelines: traces: receivers: [otlp] processors: [memory_limiter, batch, resource] exporters: [otlp, logging] metrics: receivers: [prometheus, otlp] processors: [memory_limiter, batch] exporters: [prometheusremotewrite, logging] logs: receivers: [otlp] processors: [resource] exporters: [logging] ``` ## Best Practices 1. **Define SLIs and SLOs early** - Measure what matters for your users 2. **Use structured logging** - JSON format with consistent fields 3. **Implement distributed tracing** - Essential for microservices 4. **Create runbooks for alerts** - Don't page without action plans 5. **Avoid alert fatigue** - Tune thresholds, consolidate similar alerts 6. **Use Golden Signals** - Latency, traffic, errors, saturation 7. **Monitor from multiple angles** - Synthetic + real user monitoring 8. **Retain data appropriately** - Hot, warm, cold storage tiers 9. **Test alerting regularly** - Don't discover failures during incidents 10. **Automate remediation** - Self-healing for known failure modes
View on GitHub