Install
openclaw skills install promPrometheus monitoring patterns, cardinality management, alerting best practices, and PromQL traps.
openclaw skills install promuser_id as label kills Prometheusprometheus_tsdb_head_series metric — above 1M series needs attentionlabeldrop in scrape configrate() requires range selector at least 4x scrape interval — rate(metric[1m]) with 30s scrape misses datarate() is per-second, increase() is total over range — don't confuse themrate() handles this, raw delta doesn'tirate() uses only last two samples — too spiky for alerting, use rate() for alertsfor clause prevents flapping: for: 5m means condition must hold 5 minutes before firingfor clause = fires immediately on first match = noisyrunbook_url label — on-call needs to know what to do, not just that something's wrongpromtool check rules — syntax errors discovered at 3am are badand is intersection by labels, not boolean AND — results must have matching label setsor fills in missing series, doesn't do boolean OR on values{} without metric name is expensive — scans all metricsoffset goes back in time: metric offset 1h is value from 1 hour agohttp_requests > 100 drops series below 100, doesn't return booleanhonor_labels: true trusts source labels — use only when source is authoritative (e.g., Pushgateway)scrape_timeout must be less than scrape_interval — otherwise overlapping scrapesinsecure_skip_verify) should be temporary, never permanentcurl -X DELETE http://pushgateway/metrics/job/myjobrecord: job:request_duration_seconds:rate5mlevel:metric:operations — helps identify what rules produce--storage.tsdb.wal-compression and monitor disk spacesnake_case, prefix with domain: http_requests_total, node_cpu_seconds_totalle label is reserved for histogram buckets — don't use for other purposes