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

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

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

В этой подборке — практические приёмы для Prometheus и Grafana, которые можно применить сразу после установки. Каждый пункт объясняет не только «что нажать», но и зачем это нужно.

С чего начать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Совет 6. Начните с малого набора метрик, а не с готового дашборда на тысячу гра

Начните с малого набора метрик, а не с готового дашборда на тысячу графиков.

Настройки, которые стоит сохранить

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чек-лист

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

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

Итог

Главная ценность приёмов выше — в экономии внимания. Выберите два-три, доведите до автоматизма, и Prometheus и Grafana перестанет отнимать время на рутину.

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

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

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

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

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