[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6HRECM7DF56RM1S0TY1A6Q4":3,"skill-same:01M6HRECM7DF56RM1S0TY1A6Q4":67},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":52,"install":53,"resources":66},"01M6HRECM7DF56RM1S0TY1A6Q4","prometheus-configuration",null,"Set up Prometheus for comprehensive metric collection, storage, and monitoring of infrastructure and applications. Use when implementing metrics collection, setting up monitoring infrastructure, or configuring alerting systems.","welflau\u002Fai-dev-system","welflau","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F7010385?v=4","01M6HPTDGF18RFY07M229P8CTM","01M6HPTDMRMZCJPYBFEA9XVVYT",3,"MIT","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fobservability-monitoring\u002Fskills\u002Fprometheus-configuration\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"prometheus","prometheus configuration","configuration","collection","when","metric","for","implementing","systems","up","use","storage","applications","SET","monitoring","alerting","metrics","infrastructure","2026-11-10 10:12:30",false,"---\nname: prometheus-configuration\ndescription: Set up Prometheus for comprehensive metric collection, storage, and monitoring of infrastructure and applications. Use when implementing metrics collection, setting up monitoring infrastructure, or configuring alerting systems.\n---\n\n# Prometheus Configuration\n\nComplete guide to Prometheus setup, metric collection, scrape configuration, and recording rules.\n\n## Purpose\n\nConfigure Prometheus for comprehensive metric collection, alerting, and monitoring of infrastructure and applications.\n\n## When to Use\n\n- Set up Prometheus monitoring\n- Configure metric scraping\n- Create recording rules\n- Design alert rules\n- Implement service discovery\n\n## Prometheus Architecture\n\n```\n┌──────────────┐\n│ Applications │ ← Instrumented with client libraries\n└──────┬───────┘\n       │ \u002Fmetrics endpoint\n       ↓\n┌──────────────┐\n│  Prometheus  │ ← Scrapes metrics periodically\n│    Server    │\n└──────┬───────┘\n       │\n       ├─→ AlertManager (alerts)\n       ├─→ Grafana (visualization)\n       └─→ Long-term storage (Thanos\u002FCortex)\n```\n\n## Installation\n\n### Kubernetes with Helm\n\n```bash\nhelm repo add prometheus-community https:\u002F\u002Fprometheus-community.github.io\u002Fhelm-charts\nhelm repo update\n\nhelm install prometheus prometheus-community\u002Fkube-prometheus-stack \\\n  --namespace monitoring \\\n  --create-namespace \\\n  --set prometheus.prometheusSpec.retention=30d \\\n  --set prometheus.prometheusSpec.storageVolumeSize=50Gi\n```\n\n### Docker Compose\n\n```yaml\nversion: '3.8'\nservices:\n  prometheus:\n    image: prom\u002Fprometheus:latest\n    ports:\n      - \"9090:9090\"\n    volumes:\n      - .\u002Fprometheus.yml:\u002Fetc\u002Fprometheus\u002Fprometheus.yml\n      - prometheus-data:\u002Fprometheus\n    command:\n      - '--config.file=\u002Fetc\u002Fprometheus\u002Fprometheus.yml'\n      - '--storage.tsdb.path=\u002Fprometheus'\n      - '--storage.tsdb.retention.time=30d'\n\nvolumes:\n  prometheus-data:\n```\n\n## Configuration File\n\n**prometheus.yml:**\n```yaml\nglobal:\n  scrape_interval: 15s\n  evaluation_interval: 15s\n  external_labels:\n    cluster: 'production'\n    region: 'us-west-2'\n\n# Alertmanager configuration\nalerting:\n  alertmanagers:\n    - static_configs:\n        - targets:\n          - alertmanager:9093\n\n# Load rules files\nrule_files:\n  - \u002Fetc\u002Fprometheus\u002Frules\u002F*.yml\n\n# Scrape configurations\nscrape_configs:\n  # Prometheus itself\n  - job_name: 'prometheus'\n    static_configs:\n      - targets: ['localhost:9090']\n\n  # Node exporters\n  - job_name: 'node-exporter'\n    static_configs:\n      - targets:\n        - 'node1:9100'\n        - 'node2:9100'\n        - 'node3:9100'\n    relabel_configs:\n      - source_labels: [__address__]\n        target_label: instance\n        regex: '([^:]+)(:[0-9]+)?'\n        replacement: '${1}'\n\n  # Kubernetes pods with annotations\n  - job_name: 'kubernetes-pods'\n    kubernetes_sd_configs:\n      - role: pod\n    relabel_configs:\n      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]\n        action: keep\n        regex: true\n      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]\n        action: replace\n        target_label: __metrics_path__\n        regex: (.+)\n      - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]\n        action: replace\n        regex: ([^:]+)(?::\\d+)?;(\\d+)\n        replacement: $1:$2\n        target_label: __address__\n      - source_labels: [__meta_kubernetes_namespace]\n        action: replace\n        target_label: namespace\n      - source_labels: [__meta_kubernetes_pod_name]\n        action: replace\n        target_label: pod\n\n  # Application metrics\n  - job_name: 'my-app'\n    static_configs:\n      - targets:\n        - 'app1.example.com:9090'\n        - 'app2.example.com:9090'\n    metrics_path: '\u002Fmetrics'\n    scheme: 'https'\n    tls_config:\n      ca_file: \u002Fetc\u002Fprometheus\u002Fca.crt\n      cert_file: \u002Fetc\u002Fprometheus\u002Fclient.crt\n      key_file: \u002Fetc\u002Fprometheus\u002Fclient.key\n```\n\n**Reference:** See `assets\u002Fprometheus.yml.template`\n\n## Scrape Configurations\n\n### Static Targets\n\n```yaml\nscrape_configs:\n  - job_name: 'static-targets'\n    static_configs:\n      - targets: ['host1:9100', 'host2:9100']\n        labels:\n          env: 'production'\n          region: 'us-west-2'\n```\n\n### File-based Service Discovery\n\n```yaml\nscrape_configs:\n  - job_name: 'file-sd'\n    file_sd_configs:\n      - files:\n        - \u002Fetc\u002Fprometheus\u002Ftargets\u002F*.json\n        - \u002Fetc\u002Fprometheus\u002Ftargets\u002F*.yml\n        refresh_interval: 5m\n```\n\n**targets\u002Fproduction.json:**\n```json\n[\n  {\n    \"targets\": [\"app1:9090\", \"app2:9090\"],\n    \"labels\": {\n      \"env\": \"production\",\n      \"service\": \"api\"\n    }\n  }\n]\n```\n\n### Kubernetes Service Discovery\n\n```yaml\nscrape_configs:\n  - job_name: 'kubernetes-services'\n    kubernetes_sd_configs:\n      - role: service\n    relabel_configs:\n      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]\n        action: keep\n        regex: true\n      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]\n        action: replace\n        target_label: __scheme__\n        regex: (https?)\n      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]\n        action: replace\n        target_label: __metrics_path__\n        regex: (.+)\n```\n\n**Reference:** See `references\u002Fscrape-configs.md`\n\n## Recording Rules\n\nCreate pre-computed metrics for frequently queried expressions:\n\n```yaml\n# \u002Fetc\u002Fprometheus\u002Frules\u002Frecording_rules.yml\ngroups:\n  - name: api_metrics\n    interval: 15s\n    rules:\n      # HTTP request rate per service\n      - record: job:http_requests:rate5m\n        expr: sum by (job) (rate(http_requests_total[5m]))\n\n      # Error rate percentage\n      - record: job:http_requests_errors:rate5m\n        expr: sum by (job) (rate(http_requests_total{status=~\"5..\"}[5m]))\n\n      - record: job:http_requests_error_rate:percentage\n        expr: |\n          (job:http_requests_errors:rate5m \u002F job:http_requests:rate5m) * 100\n\n      # P95 latency\n      - record: job:http_request_duration:p95\n        expr: |\n          histogram_quantile(0.95,\n            sum by (job, le) (rate(http_request_duration_seconds_bucket[5m]))\n          )\n\n  - name: resource_metrics\n    interval: 30s\n    rules:\n      # CPU utilization percentage\n      - record: instance:node_cpu:utilization\n        expr: |\n          100 - (avg by (instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100)\n\n      # Memory utilization percentage\n      - record: instance:node_memory:utilization\n        expr: |\n          100 - ((node_memory_MemAvailable_bytes \u002F node_memory_MemTotal_bytes) * 100)\n\n      # Disk usage percentage\n      - record: instance:node_disk:utilization\n        expr: |\n          100 - ((node_filesystem_avail_bytes \u002F node_filesystem_size_bytes) * 100)\n```\n\n**Reference:** See `references\u002Frecording-rules.md`\n\n## Alert Rules\n\n```yaml\n# \u002Fetc\u002Fprometheus\u002Frules\u002Falert_rules.yml\ngroups:\n  - name: availability\n    interval: 30s\n    rules:\n      - alert: ServiceDown\n        expr: up{job=\"my-app\"} == 0\n        for: 1m\n        labels:\n          severity: critical\n        annotations:\n          summary: \"Service {{ $labels.instance }} is down\"\n          description: \"{{ $labels.job }} has been down for more than 1 minute\"\n\n      - alert: HighErrorRate\n        expr: job:http_requests_error_rate:percentage > 5\n        for: 5m\n        labels:\n          severity: warning\n        annotations:\n          summary: \"High error rate for {{ $labels.job }}\"\n          description: \"Error rate is {{ $value }}% (threshold: 5%)\"\n\n      - alert: HighLatency\n        expr: job:http_request_duration:p95 > 1\n        for: 5m\n        labels:\n          severity: warning\n        annotations:\n          summary: \"High latency for {{ $labels.job }}\"\n          description: \"P95 latency is {{ $value }}s (threshold: 1s)\"\n\n  - name: resources\n    interval: 1m\n    rules:\n      - alert: HighCPUUsage\n        expr: instance:node_cpu:utilization > 80\n        for: 5m\n        labels:\n          severity: warning\n        annotations:\n          summary: \"High CPU usage on {{ $labels.instance }}\"\n          description: \"CPU usage is {{ $value }}%\"\n\n      - alert: HighMemoryUsage\n        expr: instance:node_memory:utilization > 85\n        for: 5m\n        labels:\n          severity: warning\n        annotations:\n          summary: \"High memory usage on {{ $labels.instance }}\"\n          description: \"Memory usage is {{ $value }}%\"\n\n      - alert: DiskSpaceLow\n        expr: instance:node_disk:utilization > 90\n        for: 5m\n        labels:\n          severity: critical\n        annotations:\n          summary: \"Low disk space on {{ $labels.instance }}\"\n          description: \"Disk usage is {{ $value }}%\"\n```\n\n## Validation\n\n```bash\n# Validate configuration\npromtool check config prometheus.yml\n\n# Validate rules\npromtool check rules \u002Fetc\u002Fprometheus\u002Frules\u002F*.yml\n\n# Test query\npromtool query instant http:\u002F\u002Flocalhost:9090 'up'\n```\n\n**Reference:** See `scripts\u002Fvalidate-prometheus.sh`\n\n## Best Practices\n\n1. **Use consistent naming** for metrics (prefix_name_unit)\n2. **Set appropriate scrape intervals** (15-60s typical)\n3. **Use recording rules** for expensive queries\n4. **Implement high availability** (multiple Prometheus instances)\n5. **Configure retention** based on storage capacity\n6. **Use relabeling** for metric cleanup\n7. **Monitor Prometheus itself**\n8. **Implement federation** for large deployments\n9. **Use Thanos\u002FCortex** for long-term storage\n10. **Document custom metrics**\n\n## Troubleshooting\n\n**Check scrape targets:**\n```bash\ncurl http:\u002F\u002Flocalhost:9090\u002Fapi\u002Fv1\u002Ftargets\n```\n\n**Check configuration:**\n```bash\ncurl http:\u002F\u002Flocalhost:9090\u002Fapi\u002Fv1\u002Fstatus\u002Fconfig\n```\n\n**Test query:**\n```bash\ncurl 'http:\u002F\u002Flocalhost:9090\u002Fapi\u002Fv1\u002Fquery?query=up'\n```\n\n## Reference Files\n\n- `assets\u002Fprometheus.yml.template` - Complete configuration template\n- `references\u002Fscrape-configs.md` - Scrape configuration patterns\n- `references\u002Frecording-rules.md` - Recording rule examples\n- `scripts\u002Fvalidate-prometheus.sh` - Validation script\n\n## Related Skills\n\n- `grafana-dashboards` - For visualization\n- `slo-implementation` - For SLO monitoring\n- `distributed-tracing` - For request tracing\n","# Prometheus Configuration\n\nComplete guide to Prometheus setup, metric collection, scrape configuration, and recording rules.\n\n## Purpose\n\nConfigure Prometheus for comprehensive metric collection, alerting, and monitoring of infrastructure and applications.\n\n## When to Use\n\n- Set up Prometheus monitoring\n- Configure metric scraping\n- Create recording rules\n- Design alert rules\n- Implement service discovery\n\n## Prometheus Architecture\n\n```\n┌──────────────┐\n│ Applications │ ← Instrumented with client libraries\n└──────┬───────┘\n       │ \u002Fmetrics endpoint\n       ↓\n┌──────────────┐\n│  Prometheus  │ ← Scrapes metrics periodically\n│    Server    │\n└──────┬───────┘\n       │\n       ├─→ AlertManager (alerts)\n       ├─→ Grafana (visualization)\n       └─→ Long-term storage (Thanos\u002FCortex)\n```\n\n## Installation\n\n### Kubernetes with Helm\n\n```bash\nhelm repo add prometheus-community https:\u002F\u002Fprometheus-community.github.io\u002Fhelm-charts\nhelm repo update\n\nhelm install prometheus prometheus-community\u002Fkube-prometheus-stack \\\n  --namespace monitoring \\\n  --create-namespace \\\n  --set prometheus.prometheusSpec.retention=30d \\\n  --set prometheus.prometheusSpec.storageVolumeSize=50Gi\n```\n\n### Docker Compose\n\n```yaml\nversion: '3.8'\nservices:\n  prometheus:\n    image: prom\u002Fprometheus:latest\n    ports:\n      - \"9090:9090\"\n    volumes:\n      - .\u002Fprometheus.yml:\u002Fetc\u002Fprometheus\u002Fprometheus.yml\n      - prometheus-data:\u002Fprometheus\n    command:\n      - '--config.file=\u002Fetc\u002Fprometheus\u002Fprometheus.yml'\n      - '--storage.tsdb.path=\u002Fprometheus'\n      - '--storage.tsdb.retention.time=30d'\n\nvolumes:\n  prometheus-data:\n```\n\n## Configuration File\n\n**prometheus.yml:**\n```yaml\nglobal:\n  scrape_interval: 15s\n  evaluation_interval: 15s\n  external_labels:\n    cluster: 'production'\n    region: 'us-west-2'\n\n# Alertmanager configuration\nalerting:\n  alertmanagers:\n    - static_configs:\n        - targets:\n          - alertmanager:9093\n\n# Load rules files\nrule_files:\n  - \u002Fetc\u002Fprometheus\u002Frules\u002F*.yml\n\n# Scrape configurations\nscrape_configs:\n  # Prometheus itself\n  - job_name: 'prometheus'\n    static_configs:\n      - targets: ['localhost:9090']\n\n  # Node exporters\n  - job_name: 'node-exporter'\n    static_configs:\n      - targets:\n        - 'node1:9100'\n        - 'node2:9100'\n        - 'node3:9100'\n    relabel_configs:\n      - source_labels: [__address__]\n        target_label: instance\n        regex: '([^:]+)(:[0-9]+)?'\n        replacement: '${1}'\n\n  # Kubernetes pods with annotations\n  - job_name: 'kubernetes-pods'\n    kubernetes_sd_configs:\n      - role: pod\n    relabel_configs:\n      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]\n        action: keep\n        regex: true\n      - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]\n        action: replace\n        target_label: __metrics_path__\n        regex: (.+)\n      - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port]\n        action: replace\n        regex: ([^:]+)(?::\\d+)?;(\\d+)\n        replacement: $1:$2\n        target_label: __address__\n      - source_labels: [__meta_kubernetes_namespace]\n        action: replace\n        target_label: namespace\n      - source_labels: [__meta_kubernetes_pod_name]\n        action: replace\n        target_label: pod\n\n  # Application metrics\n  - job_name: 'my-app'\n    static_configs:\n      - targets:\n        - 'app1.example.com:9090'\n        - 'app2.example.com:9090'\n    metrics_path: '\u002Fmetrics'\n    scheme: 'https'\n    tls_config:\n      ca_file: \u002Fetc\u002Fprometheus\u002Fca.crt\n      cert_file: \u002Fetc\u002Fprometheus\u002Fclient.crt\n      key_file: \u002Fetc\u002Fprometheus\u002Fclient.key\n```\n\n**Reference:** See `assets\u002Fprometheus.yml.template`\n\n## Scrape Configurations\n\n### Static Targets\n\n```yaml\nscrape_configs:\n  - job_name: 'static-targets'\n    static_configs:\n      - targets: ['host1:9100', 'host2:9100']\n        labels:\n          env: 'production'\n          region: 'us-west-2'\n```\n\n### File-based Service Discovery\n\n```yaml\nscrape_configs:\n  - job_name: 'file-sd'\n    file_sd_configs:\n      - files:\n        - \u002Fetc\u002Fprometheus\u002Ftargets\u002F*.json\n        - \u002Fetc\u002Fprometheus\u002Ftargets\u002F*.yml\n        refresh_interval: 5m\n```\n\n**targets\u002Fproduction.json:**\n```json\n[\n  {\n    \"targets\": [\"app1:9090\", \"app2:9090\"],\n    \"labels\": {\n      \"env\": \"production\",\n      \"service\": \"api\"\n    }\n  }\n]\n```\n\n### Kubernetes Service Discovery\n\n```yaml\nscrape_configs:\n  - job_name: 'kubernetes-services'\n    kubernetes_sd_configs:\n      - role: service\n    relabel_configs:\n      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]\n        action: keep\n        regex: true\n      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]\n        action: replace\n        target_label: __scheme__\n        regex: (https?)\n      - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]\n        action: replace\n        target_label: __metrics_path__\n        regex: (.+)\n```\n\n**Reference:** See `references\u002Fscrape-configs.md`\n\n## Recording Rules\n\nCreate pre-computed metrics for frequently queried expressions:\n\n```yaml\n# \u002Fetc\u002Fprometheus\u002Frules\u002Frecording_rules.yml\ngroups:\n  - name: api_metrics\n    interval: 15s\n    rules:\n      # HTTP request rate per service\n      - record: job:http_requests:rate5m\n        expr: sum by (job) (rate(http_requests_total[5m]))\n\n      # Error rate percentage\n      - record: job:http_requests_errors:rate5m\n        expr: sum by (job) (rate(http_requests_total{status=~\"5..\"}[5m]))\n\n      - record: job:http_requests_error_rate:percentage\n        expr: |\n          (job:http_requests_errors:rate5m \u002F job:http_requests:rate5m) * 100\n\n      # P95 latency\n      - record: job:http_request_duration:p95\n        expr: |\n          histogram_quantile(0.95,\n            sum by (job, le) (rate(http_request_duration_seconds_bucket[5m]))\n          )\n\n  - name: resource_metrics\n    interval: 30s\n    rules:\n      # CPU utilization percentage\n      - record: instance:node_cpu:utilization\n        expr: |\n          100 - (avg by (instance) (rate(node_cpu_seconds_total{mode=\"idle\"}[5m])) * 100)\n\n      # Memory utilization percentage\n      - record: instance:node_memory:utilization\n        expr: |\n          100 - ((node_memory_MemAvailable_bytes \u002F node_memory_MemTotal_bytes) * 100)\n\n      # Disk usage percentage\n      - record: instance:node_disk:utilization\n        expr: |\n          100 - ((node_filesystem_avail_bytes \u002F node_filesystem_size_bytes) * 100)\n```\n\n**Reference:** See `references\u002Frecording-rules.md`\n\n## Alert Rules\n\n```yaml\n# \u002Fetc\u002Fprometheus\u002Frules\u002Falert_rules.yml\ngroups:\n  - name: availability\n    interval: 30s\n    rules:\n      - alert: ServiceDown\n        expr: up{job=\"my-app\"} == 0\n        for: 1m\n        labels:\n          severity: critical\n        annotations:\n          summary: \"Service {{ $labels.instance }} is down\"\n          description: \"{{ $labels.job }} has been down for more than 1 minute\"\n\n      - alert: HighErrorRate\n        expr: job:http_requests_error_rate:percentage > 5\n        for: 5m\n        labels:\n          severity: warning\n        annotations:\n          summary: \"High error rate for {{ $labels.job }}\"\n          description: \"Error rate is {{ $value }}% (threshold: 5%)\"\n\n      - alert: HighLatency\n        expr: job:http_request_duration:p95 > 1\n        for: 5m\n        labels:\n          severity: warning\n        annotations:\n          summary: \"High latency for {{ $labels.job }}\"\n          description: \"P95 latency is {{ $value }}s (threshold: 1s)\"\n\n  - name: resources\n    interval: 1m\n    rules:\n      - alert: HighCPUUsage\n        expr: instance:node_cpu:utilization > 80\n        for: 5m\n        labels:\n          severity: warning\n        annotations:\n          summary: \"High CPU usage on {{ $labels.instance }}\"\n          description: \"CPU usage is {{ $value }}%\"\n\n      - alert: HighMemoryUsage\n        expr: instance:node_memory:utilization > 85\n        for: 5m\n        labels:\n          severity: warning\n        annotations:\n          summary: \"High memory usage on {{ $labels.instance }}\"\n          description: \"Memory usage is {{ $value }}%\"\n\n      - alert: DiskSpaceLow\n        expr: instance:node_disk:utilization > 90\n        for: 5m\n        labels:\n          severity: critical\n        annotations:\n          summary: \"Low disk space on {{ $labels.instance }}\"\n          description: \"Disk usage is {{ $value }}%\"\n```\n\n## Validation\n\n```bash\n# Validate configuration\npromtool check config prometheus.yml\n\n# Validate rules\npromtool check rules \u002Fetc\u002Fprometheus\u002Frules\u002F*.yml\n\n# Test query\npromtool query instant http:\u002F\u002Flocalhost:9090 'up'\n```\n\n**Reference:** See `scripts\u002Fvalidate-prometheus.sh`\n\n## Best Practices\n\n1. **Use consistent naming** for metrics (prefix_name_unit)\n2. **Set appropriate scrape intervals** (15-60s typical)\n3. **Use recording rules** for expensive queries\n4. **Implement high availability** (multiple Prometheus instances)\n5. **Configure retention** based on storage capacity\n6. **Use relabeling** for metric cleanup\n7. **Monitor Prometheus itself**\n8. **Implement federation** for large deployments\n9. **Use Thanos\u002FCortex** for long-term storage\n10. **Document custom metrics**\n\n## Troubleshooting\n\n**Check scrape targets:**\n```bash\ncurl http:\u002F\u002Flocalhost:9090\u002Fapi\u002Fv1\u002Ftargets\n```\n\n**Check configuration:**\n```bash\ncurl http:\u002F\u002Flocalhost:9090\u002Fapi\u002Fv1\u002Fstatus\u002Fconfig\n```\n\n**Test query:**\n```bash\ncurl 'http:\u002F\u002Flocalhost:9090\u002Fapi\u002Fv1\u002Fquery?query=up'\n```\n\n## Reference Files\n\n- `assets\u002Fprometheus.yml.template` - Complete configuration template\n- `references\u002Fscrape-configs.md` - Scrape configuration patterns\n- `references\u002Frecording-rules.md` - Recording rule examples\n- `scripts\u002Fvalidate-prometheus.sh` - Validation script\n\n## Related Skills\n\n- `grafana-dashboards` - For visualization\n- `slo-implementation` - For SLO monitoring\n- `distributed-tracing` - For request tracing\n",{"name":5,"description":7},"main","18d0e63d1313ca87098f614aa7c1e2dcf6de79c7","backend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fobservability-monitoring\u002Fskills\u002Fprometheus-configuration",1,"https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system","https:\u002F\u002Fgithub.com\u002Fwelflau","2026-11-12 14:55:20",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":65},[55,58,61],{"tool":56,"command":57},"npx","npx skills add welflau\u002Fai-dev-system --skill prometheus-configuration",{"tool":59,"command":60},"bunx","bunx skills add welflau\u002Fai-dev-system --skill prometheus-configuration",{"tool":62,"command":63},"pnpm","pnpm dlx skills add welflau\u002Fai-dev-system --skill prometheus-configuration","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fobservability-monitoring\u002Fskills\u002Fprometheus-configuration\u002FSKILL.md",true,[],[68,99,129,153,178,202],{"skillNo":69,"name":70,"nameZh":6,"description":71,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":72,"licenseFileUrl":73,"sourceHtmlUrl":74,"categories":75,"keywords":79,"publishedAt":41},"01M6HSTDP4M3JFXEBK91VFB4PA","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","Apache-2.0","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Fweb-artifacts-builder\u002FSKILL.md",[76],{"categoryNo":77,"categoryName":78,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",[80,81,82,83,84,85,86,87,88,89,90,91,92,93,33,94,95,96,97,29,98],"web artifacts builder","web","artifacts","artifacts builder","builder","frontend","css","components","react","routing","state management","state","file","Tailwind","single-file","simple","ui components","multi","single",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":72,"licenseFileUrl":103,"sourceHtmlUrl":104,"categories":105,"keywords":115,"publishedAt":41},"01M6HSDXH0JSP8R3QTNY9XZ8HN","frontend-design","Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML\u002FCSS layouts, or when styling\u002Fbeautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Ffrontend-design\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Ffrontend-design\u002FSKILL.md",[106,107,110],{"categoryNo":77,"categoryName":78,"taxonomyType":20,"taxonomyTypeDesc":21},{"categoryNo":108,"categoryName":109,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":111,"categoryName":112,"taxonomyType":113,"taxonomyTypeDesc":114},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[85,116,117,86,81,87,88,118,119,120,82,121,35,122,33,123,124,125,126,127,128,27],"design","frontend design","react components","create","code","examples","landing","ui design","pages","aesthetics","web ui","with","generic",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":72,"licenseFileUrl":133,"sourceHtmlUrl":134,"categories":135,"keywords":137,"publishedAt":41},"01M6HSA77QYVP7A72HREGTDN2C","algorithmic-art","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Falgorithmic-art\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fplugins\u002Falgorithmic-art\u002FSKILL.md",[136],{"categoryNo":108,"categoryName":109,"taxonomyType":20,"taxonomyTypeDesc":21},[138,139,140,119,120,141,142,143,144,33,145,146,31,147,127,148,149,150,151,152,27],"algorithmic art","Art","algorithmic","flow","js","work","interactive","generative art","exploration","users","Existing","request","generative","copyright","fields",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":72,"licenseFileUrl":157,"sourceHtmlUrl":158,"categories":159,"keywords":161,"publishedAt":41},"01M6HS9HE0X390Y6RQKTY1YNGJ","theme-factory","Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors\u002Ffonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Ftheme-factory\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Ftheme-factory\u002FSKILL.md",[160],{"categoryNo":108,"categoryName":109,"taxonomyType":20,"taxonomyTypeDesc":21},[162,163,164,165,166,167,82,36,168,169,122,170,171,124,172,127,173,174,175,29,176,177],"theme factory","factory","theme","docs","toolkit","generate","fly","slides","styling","artifact","themes","you","fonts","can","apply","new",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":187,"publishedAt":41},"01M6HS74GASM6FJ77F83EY679E","browsing","Use when you need direct browser control - teaches Chrome DevTools Protocol for controlling existing browser sessions, multi-tab management, form automation, and content extraction via use_browser MCP tool","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fsuperpowers-chrome\u002Fskills\u002Fbrowsing\u002FSKILL.md",[184],{"categoryNo":185,"categoryName":186,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[180,188,189,190,191,192,193,194,195,196,197,33,198,199,200,201,97,173,29,148],"MCP","automation","chrome","sessions","protocol","browser","devtools","chrome devtools","tool","direct","browser control","control","via","form",{"skillNo":203,"name":204,"nameZh":6,"description":205,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":72,"licenseFileUrl":206,"sourceHtmlUrl":207,"categories":208,"keywords":215,"publishedAt":41},"01M6HS6BZT2CKDNQ6YF20DXN4T","slack-gif-creator","Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like \"make me a GIF of X doing Y for Slack.\"","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fslack-gif-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fwelflau\u002Fai-dev-system\u002Fblob\u002Fmain\u002Fbackend\u002Fskills\u002Fmarketplace\u002Fcodebuddy-plugins-official\u002Fexternal_plugins\u002Fslack-gif-creator\u002FSKILL.md",[209,212],{"categoryNo":210,"categoryName":211,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":213,"categoryName":214,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体",[216,217,218,219,220,221,222,223,224,33,225,147,226,227,228,29,149,27],"slack gif creator","slack","gif","creator","validation","Tools","constraints","Animation","knowledge","me","make","Utilities","concepts"]