Экспортёр знает только «сейчас». Историю хранит Prometheus — он сам ходит за метриками.
Служба node_exporter — экспортёр: она переводит показатели машины в этот текстовый формат. Prometheus раз в scrape_interval запрашивает /metrics у каждой цели — экспортёра или приложения из своего конфига — и записывает значения с меткой времени. Такой запрос называется сбором. Цели собраны в задания — список scrape_configs в /etc/prometheus/prometheus.yml (в Вики):
К каждому собранному ряду Prometheus добавляет две метки: job — имя задания и instance — адрес цели. И на каждую цель пишет свой ряд up: 1 — последний сбор удался, 0 — цель не ответила.
Веб-интерфейс Prometheus открывается на порту 9090, но браузера к этой машине нет. Состояние целей отдаёт API /api/v1/targets — его удобно читать через jq (в Вики), — а запрос к собранным данным выполняет promtool query instant.
Посмотри на цели Prometheus
Prometheus на машине собирает метрики по конфигу /etc/prometheus/prometheus.yml. Посмотри конфиг, состояние целей и значения up. Учебное приложение labapp пока не запущено.
Сначала предположи
Задание для labapp в конфиге есть, а само приложение не запущено. Что Prometheus покажет о его цели?
Теперь начни упражнение, выполни команду и сверь прогноз с выводом.
Причина в lastError — та, что получил Prometheus: connection refused значит, что на этом порту никто не слушает. Служба не запущена или слушает другой порт — его покажет ss -ltn. Адрес самого node_exporter задаёт ключ --web.listen-address в строке ARGS файла /etc/default/prometheus-node-exporter; без ключа — порт 9100 (в Вики).