[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-prometheus-tune-prometheus-config":3,"mdc-cn1j7m-key":35,"related-org-prometheus-tune-prometheus-config":159,"related-repo-prometheus-tune-prometheus-config":245},{"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},"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},"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},"Performance","performance","tag",{"name":17,"slug":8,"type":15},"Prometheus",{"name":19,"slug":20,"type":15},"Configuration","configuration",{"name":22,"slug":23,"type":15},"Monitoring","monitoring",65,"https:\u002F\u002Fgithub.com\u002Fprometheus\u002Fprometheus-mcp","2026-07-23T06:05:50.729808","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\u002Ftune-prometheus-config","---\nname: tune-prometheus-config\ndescription: 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.\nlicense: Apache-2.0\ncompatibility: Requires the tools of a connected Prometheus MCP server\n---\n\n# Optimizing Prometheus Configuration and Performance\n\nAssess whether Prometheus is configured sensibly for its actual load: scrape configuration, storage and retention, query behavior, and resource headroom. The goal is a small set of concrete, justified configuration changes -- not a tour of every setting.\n\n## Getting oriented\n\n- config returns the full scrape and evaluation configuration; flags the complete command line; runtime_info retention and Go runtime settings; build_info the version.\n- tsdb_stats quantifies the load: series counts, cardinality, and which metrics and labels dominate memory.\n- query and range_query against Prometheus's own metrics (prometheus_*, process_*, go_*) show how it is coping with that load.\n- Prometheus's storage metrics show how the TSDB is keeping up: prometheus_tsdb_compaction_duration_seconds and prometheus_tsdb_wal_fsync_duration_seconds reflect disk pressure, and nonzero prometheus_tsdb_compactions_failed_total or prometheus_tsdb_wal_corruptions_total need attention before any tuning.\n\n## Topics worth exploring\n\nTreat these as starting points and dig where the numbers look off:\n\n- Ingestion pressure: samples\u002Fsec and live series, e.g. with query:\n  rate(prometheus_tsdb_head_samples_appended_total[5m]) and prometheus_tsdb_head_series\n  Combined with retention, these drive disk and memory needs.\n- Scrape economics: jobs scraped more often than their data is useful, targets with very large sample counts, and relabeling opportunities to cut cardinality at ingest (the optimize-high-cardinality runbook digs deeper).\n- Rule evaluation: prometheus_rule_group_last_duration_seconds approaching the group's interval means rule groups are running out of budget.\n- Query behavior: --query.timeout, --query.max-samples, and --query.max-concurrency vs observed load; the query log (if enabled in config) identifies slow queries, and repeated expensive expressions are recording rule candidates (see review-prometheus-rules).\n- Runtime tuning: GOGC and GOMAXPROCS vs allocated resources, and whether --auto-gomaxprocs \u002F --auto-gomemlimit are available but unused.\n- Retention: --storage.tsdb.retention.time\u002F.size vs actual disk usage and how far back queries actually reach.\n\n## Suggesting changes\n\nProvide specific prometheus.yml snippets or flag changes with the reasoning and expected impact. Recommend validating with promtool check config, applying via reload where available, and rolling out incrementally while watching Prometheus's own metrics for the effect.\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,148,154],{"type":42,"tag":43,"props":44,"children":46},"element","h1",{"id":45},"optimizing-prometheus-configuration-and-performance",[47],{"type":48,"value":49},"text","Optimizing Prometheus Configuration and Performance",{"type":42,"tag":51,"props":52,"children":53},"p",{},[54],{"type":48,"value":55},"Assess whether Prometheus is configured sensibly for its actual load: scrape configuration, storage and retention, query behavior, and resource headroom. The goal is a small set of concrete, justified configuration changes -- not a tour of every setting.",{"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,78,91],{"type":42,"tag":68,"props":69,"children":70},"li",{},[71],{"type":48,"value":72},"config returns the full scrape and evaluation configuration; flags the complete command line; runtime_info retention and Go runtime settings; build_info the version.",{"type":42,"tag":68,"props":74,"children":75},{},[76],{"type":48,"value":77},"tsdb_stats quantifies the load: series counts, cardinality, and which metrics and labels dominate memory.",{"type":42,"tag":68,"props":79,"children":80},{},[81,83,89],{"type":48,"value":82},"query and range_query against Prometheus's own metrics (prometheus_",{"type":42,"tag":84,"props":85,"children":86},"em",{},[87],{"type":48,"value":88},", process_",{"type":48,"value":90},", go_*) show how it is coping with that load.",{"type":42,"tag":68,"props":92,"children":93},{},[94],{"type":48,"value":95},"Prometheus's storage metrics show how the TSDB is keeping up: prometheus_tsdb_compaction_duration_seconds and prometheus_tsdb_wal_fsync_duration_seconds reflect disk pressure, and nonzero prometheus_tsdb_compactions_failed_total or prometheus_tsdb_wal_corruptions_total need attention before any tuning.",{"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 dig where the numbers look off:",{"type":42,"tag":64,"props":108,"children":109},{},[110,123,128,133,138,143],{"type":42,"tag":68,"props":111,"children":112},{},[113,115,121],{"type":48,"value":114},"Ingestion pressure: samples\u002Fsec and live series, e.g. with query:\nrate(prometheus_tsdb_head_samples_appended_total",{"type":42,"tag":116,"props":117,"children":118},"span",{},[119],{"type":48,"value":120},"5m",{"type":48,"value":122},") and prometheus_tsdb_head_series\nCombined with retention, these drive disk and memory needs.",{"type":42,"tag":68,"props":124,"children":125},{},[126],{"type":48,"value":127},"Scrape economics: jobs scraped more often than their data is useful, targets with very large sample counts, and relabeling opportunities to cut cardinality at ingest (the optimize-high-cardinality runbook digs deeper).",{"type":42,"tag":68,"props":129,"children":130},{},[131],{"type":48,"value":132},"Rule evaluation: prometheus_rule_group_last_duration_seconds approaching the group's interval means rule groups are running out of budget.",{"type":42,"tag":68,"props":134,"children":135},{},[136],{"type":48,"value":137},"Query behavior: --query.timeout, --query.max-samples, and --query.max-concurrency vs observed load; the query log (if enabled in config) identifies slow queries, and repeated expensive expressions are recording rule candidates (see review-prometheus-rules).",{"type":42,"tag":68,"props":139,"children":140},{},[141],{"type":48,"value":142},"Runtime tuning: GOGC and GOMAXPROCS vs allocated resources, and whether --auto-gomaxprocs \u002F --auto-gomemlimit are available but unused.",{"type":42,"tag":68,"props":144,"children":145},{},[146],{"type":48,"value":147},"Retention: --storage.tsdb.retention.time\u002F.size vs actual disk usage and how far back queries actually reach.",{"type":42,"tag":57,"props":149,"children":151},{"id":150},"suggesting-changes",[152],{"type":48,"value":153},"Suggesting changes",{"type":42,"tag":51,"props":155,"children":156},{},[157],{"type":48,"value":158},"Provide specific prometheus.yml snippets or flag changes with the reasoning and expected impact. Recommend validating with promtool check config, applying via reload where available, and rolling out incrementally while watching Prometheus's own metrics for the effect.",{"items":160,"total":244},[161,176,187,202,215,226,237],{"slug":162,"name":162,"fn":163,"description":164,"org":165,"tags":166,"stars":24,"repoUrl":25,"updatedAt":175},"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},[167,168,171,174],{"name":22,"slug":23,"type":15},{"name":169,"slug":170,"type":15},"Observability","observability",{"name":172,"slug":173,"type":15},"Operations","operations",{"name":17,"slug":8,"type":15},"2026-07-23T06:05:55.322773",{"slug":177,"name":177,"fn":178,"description":179,"org":180,"tags":181,"stars":24,"repoUrl":25,"updatedAt":186},"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},[182,183,184,185],{"name":22,"slug":23,"type":15},{"name":169,"slug":170,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":8,"type":15},"2026-07-23T06:05:56.351716",{"slug":188,"name":188,"fn":189,"description":190,"org":191,"tags":192,"stars":24,"repoUrl":25,"updatedAt":201},"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},[193,196,199,200],{"name":194,"slug":195,"type":15},"Alerting","alerting",{"name":197,"slug":198,"type":15},"Debugging","debugging",{"name":22,"slug":23,"type":15},{"name":17,"slug":8,"type":15},"2026-07-23T06:05:51.762762",{"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":22,"slug":23,"type":15},{"name":13,"slug":14,"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":194,"slug":195,"type":15},{"name":22,"slug":23,"type":15},{"name":169,"slug":170,"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":197,"slug":198,"type":15},{"name":209,"slug":210,"type":15},{"name":22,"slug":23,"type":15},{"name":17,"slug":8,"type":15},"2026-07-23T06:05:52.251401",{"slug":4,"name":4,"fn":5,"description":6,"org":238,"tags":239,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[240,241,242,243],{"name":19,"slug":20,"type":15},{"name":22,"slug":23,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":8,"type":15},7,{"items":246,"total":244},[247,254,261,268,275,282,289],{"slug":162,"name":162,"fn":163,"description":164,"org":248,"tags":249,"stars":24,"repoUrl":25,"updatedAt":175},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[250,251,252,253],{"name":22,"slug":23,"type":15},{"name":169,"slug":170,"type":15},{"name":172,"slug":173,"type":15},{"name":17,"slug":8,"type":15},{"slug":177,"name":177,"fn":178,"description":179,"org":255,"tags":256,"stars":24,"repoUrl":25,"updatedAt":186},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[257,258,259,260],{"name":22,"slug":23,"type":15},{"name":169,"slug":170,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":8,"type":15},{"slug":188,"name":188,"fn":189,"description":190,"org":262,"tags":263,"stars":24,"repoUrl":25,"updatedAt":201},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[264,265,266,267],{"name":194,"slug":195,"type":15},{"name":197,"slug":198,"type":15},{"name":22,"slug":23,"type":15},{"name":17,"slug":8,"type":15},{"slug":203,"name":203,"fn":204,"description":205,"org":269,"tags":270,"stars":24,"repoUrl":25,"updatedAt":214},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[271,272,273,274],{"name":209,"slug":210,"type":15},{"name":22,"slug":23,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":8,"type":15},{"slug":216,"name":216,"fn":217,"description":218,"org":276,"tags":277,"stars":24,"repoUrl":25,"updatedAt":225},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[278,279,280,281],{"name":194,"slug":195,"type":15},{"name":22,"slug":23,"type":15},{"name":169,"slug":170,"type":15},{"name":17,"slug":8,"type":15},{"slug":227,"name":227,"fn":228,"description":229,"org":283,"tags":284,"stars":24,"repoUrl":25,"updatedAt":236},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[285,286,287,288],{"name":197,"slug":198,"type":15},{"name":209,"slug":210,"type":15},{"name":22,"slug":23,"type":15},{"name":17,"slug":8,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":290,"tags":291,"stars":24,"repoUrl":25,"updatedAt":26},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[292,293,294,295],{"name":19,"slug":20,"type":15},{"name":22,"slug":23,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":8,"type":15}]