Introduction

Prometheus scrape target down means Prometheus attempted a scrape but did not get a valid metrics response. The issue can be network reachability, wrong path or scheme, auth failure, TLS mismatch, or an unhealthy exporter.

Symptoms

  • Targets show DOWN in the Prometheus UI
  • Metrics disappear for one exporter or job
  • Manual curl to the target behaves differently from the Prometheus scrape

Common Causes

  • Target endpoint not reachable from the Prometheus host
  • Wrong scrape path, port, or scheme
  • Auth or TLS settings are incorrect
  • Exporter returns invalid or non metrics output

Step-by-Step Fix

  1. 1.Confirm reachability from the Prometheus host
  2. 2.Test from the same network location where Prometheus actually runs.
bash
curl -v http://target-host:9100/metrics
  1. 1.Check the scrape config matches the endpoint
  2. 2.Verify the job name, target, port, scheme, and metrics path in prometheus.yml.
yaml
scrape_configs:
  - job_name: node
    metrics_path: /metrics
    static_configs:
      - targets: ["target-host:9100"]
  1. 1.Compare UI error details with the endpoint response
  2. 2.In the Targets page, review the exact scrape error and match it against the manual request result.
  3. 3.If TLS or auth is enabled, validate those settings explicitly
  4. 4.Certificate trust, bearer tokens, and basic auth mismatches often show up as scrape failures.
  5. 5.Check the exporter itself
  6. 6.If the exporter is unhealthy or blocked on upstream dependencies, Prometheus can only report the downstream symptom.

Prevention

  • Keep scrape paths, schemes, and ports explicit in version-controlled config
  • Test exporters locally after upgrades or certificate changes
  • Monitor target flapping instead of waiting for long outages
  • Make auth and TLS requirements part of exporter runbooks