Коротко о главном

Prometheus собирает числовые метрики с серверов и приложений, а Grafana показывает их на графиках. Связка стала стандартом для мониторинга: она бесплатна, работает локально и не требует облака. Для домашней лаборатории этого достаточно, чтобы вовремя замечать заполнение диска, рост нагрузки и падение сервисов.

Без метрик администратор узнаёт о проблеме от пользователей. Prometheus хранит историю, позволяет строить запросы и настраивать оповещения, а Grafana делает данные понятными без чтения сырых чисел.

Prometheus и Grafana — инструмент, который стоит освоить, если вы регулярно работаете в Linux. Ниже — путь от установки до уверенной повседневной работы: без предположений, что всё уже настроено само.

Зачем нужен Prometheus и Grafana

Prometheus и Grafana решает вполне конкретные задачи: Сбор метрик и дашборды для домашнего сервера: node_exporter, PromQL, графики и оповещения. Важно не превращать инструмент в самоцель — если задача проще решается штатными средствами системы, начните с них.

Установка

В Debian, Ubuntu и Linux Mint используется пакетный менеджер APT:

sudo apt install prometheus prometheus-node-exporter grafana

В Fedora и RHEL-совместимых системах пакет ставится через DNF:

sudo dnf install prometheus node_exporter grafana

В Arch Linux и производных пакет доступен в официальных репозиториях:

sudo pacman -S prometheus node-exporter grafana

Пошаговая настройка

После установки переходите к базовому сценарию. Команды ниже выполняйте от пользователя с достаточными правами, но не запускайте всё под root без необходимости.

1. Запустите компоненты

Prometheus и node_exporter — отдельные службы. Проверьте, что обе запущены и слушают свои порты. Grafana запускается независимо.

sudo systemctl enable --now prometheus node_exporter grafana-server
ss -ltnp | grep -E '9090|9100|3000'

2. Добавьте цель для сбора

Prometheus забирает метрики по HTTP. Укажите адрес node_exporter в конфигурации и перезагрузите службу.

sudo nano /etc/prometheus/prometheus.yml
sudo promtool check config /etc/prometheus/prometheus.yml
sudo systemctl reload prometheus

3. Проверьте запросы

В веб-интерфейсе Prometheus на порту 9090 выполните простой запрос и убедитесь, что данные есть. Пустой результат чаще всего означает неверную цель.

curl -s localhost:9090/api/v1/query?query=up
curl -s localhost:9100/metrics | head

4. Подключите Grafana

Войдите в Grafana, добавьте источник данных Prometheus и укажите адрес. Не оставляйте стандартный пароль администратора.

# http://localhost:3000
# Connections → Data sources → Prometheus → http://localhost:9090

5. Постройте дашборд и оповещения

Начните с четырёх графиков: загрузка CPU, память, место на диске, доступность узла. Затем добавьте правило оповещения на заполнение диска.

node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"}
# Alert: < 0.15 в течение 10 минут

Базовая конфигурация

Начните с минимального рабочего варианта. Не копируйте большой конфиг целиком: добавляйте параметры по одному и проверяйте результат после каждого изменения.

# /etc/prometheus/prometheus.yml
global:
  scrape_interval: 15s
scrape_configs:
  - job_name: node
    static_configs:
      - targets: ['localhost:9100']

Практические советы

Эти рекомендации проверены на повседневных задачах. Начните с тех, которые закрывают вашу текущую боль, а не со всего списка сразу.

Совет 1. Не открывайте Prometheus и Grafana в интернет без аутентификации и TLS

Не открывайте Prometheus и Grafana в интернет без аутентификации и TLS.

Совет 2. Следите за кардинальностью меток: лишние метки раздувают базу.

Следите за кардинальностью меток: лишние метки раздувают базу.

Совет 3. Ограничьте срок хранения данных, если диск небольшой.

Ограничьте срок хранения данных, если диск небольшой.

Совет 4. Делайте резервную копию базы Grafana и конфигурации Prometheus.

Делайте резервную копию базы Grafana и конфигурации Prometheus.

Совет 5. Для оповещений используйте отдельный канал, который не зависит от того

Для оповещений используйте отдельный канал, который не зависит от того же сервера.

Практический сценарий

Представьте типовую задачу: нужно развернуть Prometheus и Grafana на одной машине, проверить работу и передать доступ коллеге. Начните с чистой системы или снапшота, чтобы результат был воспроизводим. Запишите все команды в отдельный файл — это одновременно шпаргалка и черновик будущей автоматизации.

Дальше действуйте короткими шагами: установка, минимальная конфигурация, проверка, затем расширение. После каждого шага фиксируйте, что именно изменилось и как это проверить. Такой журнал экономит время, когда через месяц понадобится повторить настройку на другом сервере или объяснить её коллеге.

Порядок работ для этого сценария выглядит так:

  1. Запустите компоненты
  2. Добавьте цель для сбора
  3. Проверьте запросы
  4. Подключите Grafana
  5. Постройте дашборд и оповещения

Отдельно продумайте, что произойдёт при сбое. Для Prometheus и Grafana важно заранее знать, где хранятся данные, как их скопировать и сколько времени займёт восстановление. Если ответа нет, не двигайтесь дальше: сначала закройте этот пробел, потом добавляйте новые возможности.

Типичные ошибки

Ниже — сбои, которые встречаются чаще всего. Перед исправлением сохраните текущие конфиги и запишите, какие изменения вносите: так проще откатиться.

1. Цель в состоянии DOWN

Проверьте адрес и порт, файрвол и статус node_exporter. Откройте /metrics вручную с той машины, где работает Prometheus.

2. Grafana не показывает данные

Проверьте источник данных, диапазон времени и часовой пояс. Запрос должен возвращать данные в Prometheus, а не только в панели.

3. Prometheus потребляет много памяти

Сократите кардинальность метрик и срок хранения. Удалите цели, которые давно не нужны, и проверьте, не собираются ли метки с высокой изменчивостью.

Что проверить перед вводом в работу

Перед тем как считать настройку завершённой, пройдитесь по короткому списку. Он не заменяет полноценный аудит, но отсекает большинство очевидных проблем.

Чек-лист

  • Версия Prometheus и Grafana зафиксирована, а обновления не применяются вслепую.
  • Есть резервная копия конфигурации и данных, восстановление проверено.
  • Доступ ограничен нужными пользователями и сетями, лишние порты закрыты.
  • Логи и метрики собираются, понятно, куда смотреть при сбое.
  • Изменения описаны в документации и могут быть повторены на другой машине.
  • Есть план отката и понятный критерий, по которому вы решите его применить.

Если какой-то пункт вызывает затруднение, это сигнал вернуться к соответствующему разделу, а не откладывать проверку. Настройка, которую нельзя повторить, плохо работает не только у коллег, но и у вас самих через полгода.

Итог

Prometheus и Grafana — это не «поставил и забыл». Рабочая конфигурация складывается из понимания задачи, аккуратной установки и проверки результата. Начните с базового сценария, затем добавляйте только те возможности, которые действительно используете.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте