+7 (495) 107-75-45 Подключение
+7 (495) 107-75-47 Тех. поддержка 24/7
Пример
01.11.2024

Настройка систем мониторинга с помощью Prometheus и Grafana

Введение

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

Требования

  • Сервер с операционной системой на базе Linux.
  • Права администратора на сервере.
  • Доступ к интернету для загрузки необходимых компонентов.

Grafana

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

Загрузка и установка Prometheus: Перейдем на сайт Prometheus и загрузим последнюю версию для Linux. Для этого выполните следующие команды

# Переходим в домашний каталог
cd /home/$USER

# Скачиваем Prometheus (замените версию на последнюю, если необходимо)
wget https://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gz

# Распаковываем архив
tar xvf prometheus-2.37.0.linux-amd64.tar.gz

# Переименовываем папку для удобства
mv prometheus-2.37.0.linux-amd64 prometheus

Запуск Prometheus: Переходим в каталог Prometheus и запускаем его. Чтобы Prometheus работал в фоне, добавим его как systemd сервис:

# Запускаем Prometheus
cd /home/$USER/prometheus
./prometheus --config.file=prometheus.yml

Добавление Prometheus как systemd сервис: Создайте файл сервиса /etc/systemd/system/prometheus.service и добавьте в него следующее:

[Unit]
Description=Prometheus

[Service]
ExecStart=/home/$USER/prometheus/prometheus --config.file=/home/$USER/prometheus/prometheus.yml
Restart=always
User=$USER

[Install]
WantedBy=multi-user.target

После этого запустите и включите сервис Prometheus:

sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus

Проверка работы: Prometheus будет доступен на порту 9090. Проверьте работу Prometheus, перейдя в браузере по адресу http://<IP-адрес-сервера>:9090.

Prometeus

Шаг 2. Установка и настройка Grafana

Установка Grafana: Сначала добавим репозиторий и установим Grafana:

# Добавляем репозиторий Grafana для Debian/Ubuntu
sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

# Импортируем ключ репозитория и обновляем пакеты
sudo apt-get install -y apt-transport-https
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A4B469963BF863CC
sudo apt update

# Устанавливаем Grafana
sudo apt install grafana

Запуск Grafana и добавление в автозагрузку:

sudo systemctl start grafana-server
sudo systemctl enable grafana-server

Настройка доступа: Grafana будет доступна по умолчанию на порту 3000. Перейдите в браузере по адресу http://<IP-адрес-сервера>:3000, чтобы открыть интерфейс Grafana. Введите логин и пароль (по умолчанию: admin/admin) и измените пароль при первом входе.

Шаг 3. Настройка источника данных в Grafana

  1. Добавление Prometheus как источника данных:
    • Откройте интерфейс Grafana и перейдите в настройки источников данных.
    • Нажмите Add data source и выберите Prometheus.
    • Введите URL для Prometheus: http://localhost:9090.
    • Нажмите Save & Test, чтобы проверить соединение.

Настройка Prometeus

Шаг 4. Настройка дашбордов в Grafana

  1. Создание дашборда:
    • Перейдите в Dashboards > Manage > New Dashboard.
    • Нажмите Add new panel и выберите метрики из Prometheus.
  2. Пример метрик для мониторинга:
    • Загрузка CPU: используйте выражение rate(node_cpu_seconds_total{mode="user"}[1m]).
    • Использование памяти: используйте выражение node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes.
    • Занятое место на дискеnode_filesystem_avail_bytes / node_filesystem_size_bytes.
  3. Сохранение и настройка автоматического обновления:
    • Установите интервалы обновления, например, на каждые 5 секунд, чтобы данные обновлялись в реальном времени.

Шаг 5. Настройка мониторинга дополнительных сервисов

Для мониторинга конкретных сервисов и приложений можно настроить экспортеры, такие как Node Exporter для мониторинга серверных метрик (нагрузка процессора, память, сеть и т. д.).

Установка Node Exporter:

    • Скачайте Node Exporter с официального сайта.
    • Установите его аналогично Prometheus и добавьте как источник метрик в конфигурацию Prometheus.
      Пример конфигурации для Prometheus: Откройте файл prometheus.yml и добавьте новый источник:
scrape_configs:
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['localhost:9100']

Запуск Node Exporter и проверка: Запустите Node Exporter на порту 9100, после чего Prometheus начнет собирать метрики сервера.

Эти шаги помогут настроить базовую систему мониторинга с Prometheus и Grafana для серверов и приложений. Система будет отображать данные в реальном времени и предоставит удобные графики для анализа состояния и производительности вашей инфраструктуры.