Lesson 8 / 25
Exporters
Metrics for things you did not write.
Translate other systems into metrics
Exporters expose metrics for software that does not speak Prometheus natively: node_exporter for Linux host metrics (CPU, memory, disk, network), blackbox_exporter for probing HTTP, TCP, DNS and ICMP endpoints from outside, and exporters for PostgreSQL, MySQL, Redis, Kafka, NGINX and many more. Kubernetes clusters commonly run kube-state-metrics (object state) and cAdvisor via the kubelet (container usage). Many modern systems expose /metrics natively.
Probing a website with blackbox_exporter
The common relabelling pattern for probes.
scrape_configs:
- job_name: "website-probe"
metrics_path: /probe
params:
module: [http_2xx]
static_configs:
- targets: ["https://example.com", "https://example.com/health"]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target # pass the URL to the exporter
- source_labels: [__param_target]
target_label: instance # keep the URL as the instance label
- target_label: __address__
replacement: blackbox-exporter:9115 # actually scrape the exporterProbe from outside too
Internal metrics can look healthy while users cannot reach the site; blackbox probes catch DNS, TLS and routing problems.
Quick check: Which exporter provides Linux host CPU, memory and disk metrics?
- kube-state-metrics
- blackbox_exporter
- node_exporter
- Alertmanager
Answer
node_exporter — Host-level metrics.