Как настроить мониторинг ресурсов сервера (CPU, RAM, Диск) через Grafana и Prometheus?

Мониторинг ресурсов сервера через Grafana и Prometheus — это мощная связка для отслеживания CPU, RAM, дискового пространства и других метрик в реальном времени. Ниже представлено пошаговое руководство по настройке.

## Шаг 1: Установка Prometheus

Скачайте последнюю версию Prometheus с официального сайта prometheus.io. Распакуйте архив и создайте конфигурационный файл `prometheus.yml`. В секции `scrape_configs` укажите цели для сбора метрик:

yaml
scrape_configs:
— job_name: ‘node’
static_configs:
— targets: [‘localhost:9100’]

Запустите Prometheus командой `./prometheus —config.file=prometheus.yml`. По умолчанию интерфейс доступен на порту 9090.

## Шаг 2: Установка Node Exporter

Node Exporter — это агент, который собирает системные метрики (CPU, RAM, диск, сеть) и экспортирует их для Prometheus. Скачайте Node Exporter, распакуйте и запустите:

bash
./node_exporter

По умолчанию он слушает порт 9100. Убедитесь, что адрес `localhost:9100/metrics` возвращает данные.

## Шаг 3: Установка Grafana

Установите Grafana через пакетный менеджер вашей системы или Docker:

bash
docker run -d -p 3000:3000 grafana/grafana

Откройте браузер по адресу `http://localhost:3000`. Логин и пароль по умолчанию: `admin/admin`.

## Шаг 4: Подключение Prometheus как источника данных

В Grafana перейдите в раздел **Configuration → Data Sources → Add data source**. Выберите **Prometheus** и укажите URL: `http://localhost:9090`. Нажмите **Save & Test**.

## Шаг 5: Импорт готового дашборда

Наиболее популярный дашборд для Node Exporter — **ID 1860** (Node Exporter Full). Перейдите в **Dashboards → Import**, введите ID `1860` и выберите источник данных Prometheus. Дашборд автоматически отобразит:

— **CPU**: загрузка по ядрам, iowait, steal
— **RAM**: использование, кэш, swap
— **Диск**: занятое/свободное место, IOPS, скорость чтения/записи
— **Сеть**: входящий/исходящий трафик

## Шаг 6: Создание алертов

В Grafana настройте уведомления при превышении порогов. Например, для CPU > 90%:

1. Откройте нужную панель и нажмите **Edit**.
2. Перейдите на вкладку **Alert**.
3. Задайте условие: `avg() OF query > 90`.
4. Укажите канал уведомлений (Email, Telegram, Slack).

## Полезные PromQL-запросы

— **CPU**: `100 — (avg by(instance)(rate(node_cpu_seconds_total{mode=»idle»}[5m])) * 100)`
— **RAM**: `(node_memory_MemTotal_bytes — node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100`
— **Диск**: `(node_filesystem_size_bytes — node_filesystem_free_bytes) / node_filesystem_size_bytes * 100`

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


Задайте вопрос нейросети

Не нашли ответ? Спросите ИИ — он подготовит развёрнутую статью.