[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-prometheus-investigate-error-rates":3,"mdc--kgwrrx-key":35,"related-org-prometheus-investigate-error-rates":165,"related-repo-prometheus-investigate-error-rates":251},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":30,"sourceUrl":33,"mdContent":34},"investigate-error-rates","investigate elevated Prometheus error rates","Investigate elevated error rates and failing requests. Use when errors or 5xx\u002FgRPC failures spike, SLOs burn, or an error alert fires; quantifies error ratios with rate(), compares to baseline, and isolates affected jobs and instances.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"prometheus","Prometheus (CNCF)","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fprometheus.png",[12,16,18,21],{"name":13,"slug":14,"type":15},"Alerting","alerting","tag",{"name":17,"slug":8,"type":15},"Prometheus",{"name":19,"slug":20,"type":15},"Monitoring","monitoring",{"name":22,"slug":23,"type":15},"Debugging","debugging",65,"https:\u002F\u002Fgithub.com\u002Fprometheus\u002Fprometheus-mcp","2026-07-23T06:05:51.762762","Apache-2.0",18,[],{"repoUrl":25,"stars":24,"forks":28,"topics":31,"description":32},[],"MCP server for LLMs to interact with Prometheus","https:\u002F\u002Fgithub.com\u002Fprometheus\u002Fprometheus-mcp\u002Ftree\u002FHEAD\u002Fpkg\u002Fmcp\u002Fassets\u002Fskills\u002Finvestigate-error-rates","---\nname: investigate-error-rates\ndescription: Investigate elevated error rates and failing requests. Use when errors or 5xx\u002FgRPC failures spike, SLOs burn, or an error alert fires; quantifies error ratios with rate(), compares to baseline, and isolates affected jobs and instances.\nlicense: Apache-2.0\ncompatibility: Requires the tools of a connected Prometheus MCP server\n---\n\n# Investigating High Error Response Rates\n\nFigure out how bad the errors are, when they started, and where they are concentrated. Error metrics vary by system, so discover what actually exists before querying.\n\n## Getting oriented\n\n- Error signals are usually counters: HTTP status codes (http_requests_total{code=~\"5..\"}), gRPC codes (grpc_server_handled_total{grpc_code!=\"OK\"}), or dedicated *_errors_total \u002F *_failures_total metrics.\n- Discover what this system exposes with series or label_values on __name__ using regex matchers, and confirm semantics with metric_metadata.\n- list_alerts shows whether an error-related alert is already firing and carries useful labels to start from.\n- The ALERTS{alertstate=\"firing\"} series Prometheus generates is the queryable form of the same information: range_query it to see when alerts started firing and line their history up against the error timeline.\n\n## Topics worth exploring\n\nTreat these as starting points and follow what the data shows:\n\n- Current error rate: counters need rate() before aggregating, e.g. with query:\n  sum by (job) (rate(http_requests_total{code=~\"5..\"}[5m]))\n- Error ratio vs raw count: a ratio against total traffic distinguishes \"more errors\" from \"more traffic\":\n  sum(rate(http_requests_total{code=~\"5..\"}[5m])) \u002F sum(rate(http_requests_total[5m]))\n- When it started: range_query the same expression over hours or days and look for the inflection point; compare against a known-good baseline window.\n- Where it is concentrated: aggregate by job, instance, handler, or method; topk(10, ...) keeps output manageable.\n- What else changed at that time: deploys and restarts (process_start_time_seconds), saturation (CPU, memory, connection pools), and latency histograms for the same services.\n\n## Reporting findings\n\nAim for a clear statement of impact (error ratio and affected traffic), onset time, and the narrowest scope (service, instance, or route) that explains the errors, backed by the queries you ran.\n",{"data":36,"body":38},{"name":4,"description":6,"license":27,"compatibility":37},"Requires the tools of a connected Prometheus MCP server",{"type":39,"children":40},"root",[41,50,56,63,96,102,107,154,160],{"type":42,"tag":43,"props":44,"children":46},"element","h1",{"id":45},"investigating-high-error-response-rates",[47],{"type":48,"value":49},"text","Investigating High Error Response Rates",{"type":42,"tag":51,"props":52,"children":53},"p",{},[54],{"type":48,"value":55},"Figure out how bad the errors are, when they started, and where they are concentrated. Error metrics vary by system, so discover what actually exists before querying.",{"type":42,"tag":57,"props":58,"children":60},"h2",{"id":59},"getting-oriented",[61],{"type":48,"value":62},"Getting oriented",{"type":42,"tag":64,"props":65,"children":66},"ul",{},[67,73,86,91],{"type":42,"tag":68,"props":69,"children":70},"li",{},[71],{"type":48,"value":72},"Error signals are usually counters: HTTP status codes (http_requests_total{code=~\"5..\"}), gRPC codes (grpc_server_handled_total{grpc_code!=\"OK\"}), or dedicated *_errors_total \u002F *_failures_total metrics.",{"type":42,"tag":68,"props":74,"children":75},{},[76,78,84],{"type":48,"value":77},"Discover what this system exposes with series or label_values on ",{"type":42,"tag":79,"props":80,"children":81},"strong",{},[82],{"type":48,"value":83},"name",{"type":48,"value":85}," using regex matchers, and confirm semantics with metric_metadata.",{"type":42,"tag":68,"props":87,"children":88},{},[89],{"type":48,"value":90},"list_alerts shows whether an error-related alert is already firing and carries useful labels to start from.",{"type":42,"tag":68,"props":92,"children":93},{},[94],{"type":48,"value":95},"The ALERTS{alertstate=\"firing\"} series Prometheus generates is the queryable form of the same information: range_query it to see when alerts started firing and line their history up against the error timeline.",{"type":42,"tag":57,"props":97,"children":99},{"id":98},"topics-worth-exploring",[100],{"type":48,"value":101},"Topics worth exploring",{"type":42,"tag":51,"props":103,"children":104},{},[105],{"type":48,"value":106},"Treat these as starting points and follow what the data shows:",{"type":42,"tag":64,"props":108,"children":109},{},[110,123,139,144,149],{"type":42,"tag":68,"props":111,"children":112},{},[113,115,121],{"type":48,"value":114},"Current error rate: counters need rate() before aggregating, e.g. with query:\nsum by (job) (rate(http_requests_total{code=~\"5..\"}",{"type":42,"tag":116,"props":117,"children":118},"span",{},[119],{"type":48,"value":120},"5m",{"type":48,"value":122},"))",{"type":42,"tag":68,"props":124,"children":125},{},[126,128,132,134,138],{"type":48,"value":127},"Error ratio vs raw count: a ratio against total traffic distinguishes \"more errors\" from \"more traffic\":\nsum(rate(http_requests_total{code=~\"5..\"}",{"type":42,"tag":116,"props":129,"children":130},{},[131],{"type":48,"value":120},{"type":48,"value":133},")) \u002F sum(rate(http_requests_total",{"type":42,"tag":116,"props":135,"children":136},{},[137],{"type":48,"value":120},{"type":48,"value":122},{"type":42,"tag":68,"props":140,"children":141},{},[142],{"type":48,"value":143},"When it started: range_query the same expression over hours or days and look for the inflection point; compare against a known-good baseline window.",{"type":42,"tag":68,"props":145,"children":146},{},[147],{"type":48,"value":148},"Where it is concentrated: aggregate by job, instance, handler, or method; topk(10, ...) keeps output manageable.",{"type":42,"tag":68,"props":150,"children":151},{},[152],{"type":48,"value":153},"What else changed at that time: deploys and restarts (process_start_time_seconds), saturation (CPU, memory, connection pools), and latency histograms for the same services.",{"type":42,"tag":57,"props":155,"children":157},{"id":156},"reporting-findings",[158],{"type":48,"value":159},"Reporting findings",{"type":42,"tag":51,"props":161,"children":162},{},[163],{"type":48,"value":164},"Aim for a clear statement of impact (error ratio and affected traffic), onset time, and the narrowest scope (service, instance, or route) that explains the errors, backed by the queries you ran.",{"items":166,"total":250},[167,182,195,202,215,226,237],{"slug":168,"name":168,"fn":169,"description":170,"org":171,"tags":172,"stars":24,"repoUrl":25,"updatedAt":181},"check-system-health","health-check Prometheus server and targets","Health-check the Prometheus server and its targets. Use for status, uptime, or is-monitoring-OK questions; reviews readiness, active alerts, target health, TSDB stats, and runtime info.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[173,174,177,180],{"name":19,"slug":20,"type":15},{"name":175,"slug":176,"type":15},"Observability","observability",{"name":178,"slug":179,"type":15},"Operations","operations",{"name":17,"slug":8,"type":15},"2026-07-23T06:05:55.322773",{"slug":183,"name":183,"fn":184,"description":185,"org":186,"tags":187,"stars":24,"repoUrl":25,"updatedAt":194},"find-top-resource-consumers","identify top resource consumers in Prometheus","Find the top CPU, memory, or disk consumers. Use for capacity reviews, noisy-neighbor hunts, and top-N questions about which jobs, pods, or instances use the most resources or drive TSDB growth; builds topk() queries over discovered metrics.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[188,189,190,193],{"name":19,"slug":20,"type":15},{"name":175,"slug":176,"type":15},{"name":191,"slug":192,"type":15},"Performance","performance",{"name":17,"slug":8,"type":15},"2026-07-23T06:05:56.351716",{"slug":4,"name":4,"fn":5,"description":6,"org":196,"tags":197,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[198,199,200,201],{"name":13,"slug":14,"type":15},{"name":22,"slug":23,"type":15},{"name":19,"slug":20,"type":15},{"name":17,"slug":8,"type":15},{"slug":203,"name":203,"fn":204,"description":205,"org":206,"tags":207,"stars":24,"repoUrl":25,"updatedAt":214},"optimize-high-cardinality","reduce high-cardinality Prometheus metrics","Find and reduce high-cardinality metrics and labels. Use when series counts or memory grow, queries slow down, or tsdb_stats shows label explosions; pinpoints offending labels and proposes relabeling, dropping, and aggregation fixes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[208,211,212,213],{"name":209,"slug":210,"type":15},"Metrics","metrics",{"name":19,"slug":20,"type":15},{"name":191,"slug":192,"type":15},{"name":17,"slug":8,"type":15},"2026-07-23T06:05:51.227756",{"slug":216,"name":216,"fn":217,"description":218,"org":219,"tags":220,"stars":24,"repoUrl":25,"updatedAt":225},"review-prometheus-rules","audit and improve Prometheus alerting rules","Audit and improve recording and alerting rules. Use when reviewing alert coverage or rule health, drafting new alerts or recording rules, investigating flapping or noisy alerts, or speeding up slow dashboards with pre-computed expressions; produces complete rule-group YAML.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[221,222,223,224],{"name":13,"slug":14,"type":15},{"name":19,"slug":20,"type":15},{"name":175,"slug":176,"type":15},{"name":17,"slug":8,"type":15},"2026-07-23T06:05:55.853937",{"slug":227,"name":227,"fn":228,"description":229,"org":230,"tags":231,"stars":24,"repoUrl":25,"updatedAt":236},"troubleshoot-missing-data","diagnose missing Prometheus metrics and gaps","Diagnose missing metrics, absent series, or scrape gaps. Use when queries unexpectedly return empty, a metric stopped reporting, a target is down or unscraped, or dashboards show no data; walks target health, metadata, and config checks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[232,233,234,235],{"name":22,"slug":23,"type":15},{"name":209,"slug":210,"type":15},{"name":19,"slug":20,"type":15},{"name":17,"slug":8,"type":15},"2026-07-23T06:05:52.251401",{"slug":238,"name":238,"fn":239,"description":240,"org":241,"tags":242,"stars":24,"repoUrl":25,"updatedAt":249},"tune-prometheus-config","tune Prometheus configuration and performance","Review and tune Prometheus configuration and performance. Use for scrape interval, retention, storage, relabeling, flag, and capacity questions, or when Prometheus itself is slow or resource-hungry; recommends concrete config changes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[243,246,247,248],{"name":244,"slug":245,"type":15},"Configuration","configuration",{"name":19,"slug":20,"type":15},{"name":191,"slug":192,"type":15},{"name":17,"slug":8,"type":15},"2026-07-23T06:05:50.729808",7,{"items":252,"total":250},[253,260,267,274,281,288,295],{"slug":168,"name":168,"fn":169,"description":170,"org":254,"tags":255,"stars":24,"repoUrl":25,"updatedAt":181},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[256,257,258,259],{"name":19,"slug":20,"type":15},{"name":175,"slug":176,"type":15},{"name":178,"slug":179,"type":15},{"name":17,"slug":8,"type":15},{"slug":183,"name":183,"fn":184,"description":185,"org":261,"tags":262,"stars":24,"repoUrl":25,"updatedAt":194},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[263,264,265,266],{"name":19,"slug":20,"type":15},{"name":175,"slug":176,"type":15},{"name":191,"slug":192,"type":15},{"name":17,"slug":8,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":268,"tags":269,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[270,271,272,273],{"name":13,"slug":14,"type":15},{"name":22,"slug":23,"type":15},{"name":19,"slug":20,"type":15},{"name":17,"slug":8,"type":15},{"slug":203,"name":203,"fn":204,"description":205,"org":275,"tags":276,"stars":24,"repoUrl":25,"updatedAt":214},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[277,278,279,280],{"name":209,"slug":210,"type":15},{"name":19,"slug":20,"type":15},{"name":191,"slug":192,"type":15},{"name":17,"slug":8,"type":15},{"slug":216,"name":216,"fn":217,"description":218,"org":282,"tags":283,"stars":24,"repoUrl":25,"updatedAt":225},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[284,285,286,287],{"name":13,"slug":14,"type":15},{"name":19,"slug":20,"type":15},{"name":175,"slug":176,"type":15},{"name":17,"slug":8,"type":15},{"slug":227,"name":227,"fn":228,"description":229,"org":289,"tags":290,"stars":24,"repoUrl":25,"updatedAt":236},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[291,292,293,294],{"name":22,"slug":23,"type":15},{"name":209,"slug":210,"type":15},{"name":19,"slug":20,"type":15},{"name":17,"slug":8,"type":15},{"slug":238,"name":238,"fn":239,"description":240,"org":296,"tags":297,"stars":24,"repoUrl":25,"updatedAt":249},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[298,299,300,301],{"name":244,"slug":245,"type":15},{"name":19,"slug":20,"type":15},{"name":191,"slug":192,"type":15},{"name":17,"slug":8,"type":15}]