# Exporters — Prometheus + Grafana

Source: https://www.skillbyai.com/en/prometheus-grafana/c-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.

```yaml
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 exporter
```

## Probe from outside too

Internal metrics can look healthy while users cannot reach the site; blackbox probes catch DNS, TLS and routing problems.

**Quiz:** Which exporter provides Linux host CPU, memory and disk metrics?

- [ ] kube-state-metrics
- [ ] blackbox_exporter
- [x] node_exporter
- [ ] Alertmanager

*Answer:* node_exporter. Host-level metrics.
