Настройка систем мониторинга с помощью Prometheus и Grafana
Введение
Prometheus и Grafana — мощные инструменты для мониторинга и визуализации метрик, которые идеально подходят для отслеживания состояния серверов, приложений и инфраструктуры в целом. Prometheus собирает метрики с разных источников, а Grafana позволяет строить графики и дашборды для удобного анализа.
Требования
- Сервер с операционной системой на базе Linux.
- Права администратора на сервере.
- Доступ к интернету для загрузки необходимых компонентов.
Шаг 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
.
Шаг 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
- Добавление Prometheus как источника данных:
- Откройте интерфейс Grafana и перейдите в настройки источников данных.
- Нажмите Add data source и выберите Prometheus.
- Введите URL для Prometheus:
http://localhost:9090
. - Нажмите Save & Test, чтобы проверить соединение.
Шаг 4. Настройка дашбордов в Grafana
- Создание дашборда:
- Перейдите в Dashboards > Manage > New Dashboard.
- Нажмите Add new panel и выберите метрики из Prometheus.
- Пример метрик для мониторинга:
- Загрузка 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
.
- Загрузка CPU: используйте выражение
- Сохранение и настройка автоматического обновления:
- Установите интервалы обновления, например, на каждые 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 для серверов и приложений. Система будет отображать данные в реальном времени и предоставит удобные графики для анализа состояния и производительности вашей инфраструктуры.