← ClaudeAtlas

monitoring-observabilitylisted

Set up monitoring, logging, and observability for applications and infrastructure. Use when implementing health checks, metrics collection, log aggregation, or alerting systems. Handles Prometheus, Grafana, ELK Stack, Datadog, and monitoring best practices.
aiskillstore/marketplace · ★ 329 · DevOps & Infrastructure · score 82
Install: claude install-skill aiskillstore/marketplace
# Monitoring & Observability ## When to use this skill - **Before Production Deployment**: Essential monitoring system setup - **Performance Issues**: Identify bottlenecks - **Incident Response**: Quick root cause identification - **SLA Compliance**: Track availability/response times ## Instructions ### Step 1: Metrics Collection (Prometheus) **Application Instrumentation** (Node.js): ```typescript import express from 'express'; import promClient from 'prom-client'; const app = express(); // Default metrics (CPU, Memory, etc.) promClient.collectDefaultMetrics(); // Custom metrics const httpRequestDuration = new promClient.Histogram({ name: 'http_request_duration_seconds', help: 'Duration of HTTP requests in seconds', labelNames: ['method', 'route', 'status_code'] }); const httpRequestTotal = new promClient.Counter({ name: 'http_requests_total', help: 'Total number of HTTP requests', labelNames: ['method', 'route', 'status_code'] }); // Middleware to track requests app.use((req, res, next) => { const start = Date.now(); res.on('finish', () => { const duration = (Date.now() - start) / 1000; const labels = { method: req.method, route: req.route?.path || req.path, status_code: res.statusCode }; httpRequestDuration.observe(labels, duration); httpRequestTotal.inc(labels); }); next(); }); // Metrics endpoint app.get('/metrics', async (req, res) => { res.set('Content-Type', promClient.register.contentType);