Почему мониторинг VDS важен?
Если вы используете VDS (Virtual Dedicated Server), критически важно постоянно отслеживать производительность и состояние вашего сервера. При внезапных скачках трафика, исчерпании ресурсов или атаках вам нужны правильные инструменты для быстрого реагирования. Дуэт Prometheus и Grafana — одна из самых мощных комбинаций в мире открытого исходного кода для удовлетворения этой потребности. В этом руководстве я шаг за шагом расскажу, как собирать метрики с помощью Prometheus и визуализировать их в Grafana на VDS.
Что такое Prometheus?
Prometheus — это система мониторинга и оповещения, основанная на временных рядах, разработанная SoundCloud. Благодаря pull-архитектуре она регулярно извлекает метрики с целевых систем. Она выделяется масштабируемостью и гибким языком запросов PromQL. Для VDS обычно собираются такие метрики, как загрузка CPU, использование RAM, диска и сетевой трафик.
Установка Prometheus
Сначала подключитесь к вашему VDS по SSH. Вы можете загрузить и установить Prometheus с официального сайта. Пример команд для Ubuntu/Debian:
- wget https://github.com/prometheus/prometheus/releases/download/v2.53.0/prometheus-2.53.0.linux-amd64.tar.gz
- tar xvf prometheus-2.53.0.linux-amd64.tar.gz
- sudo mv prometheus-2.53.0.linux-amd64 /opt/prometheus
Затем создайте systemd-сервис. Отредактируйте файл prometheus.yml, добавив целевые объекты для мониторинга. Например, для сбора аппаратных метрик с помощью node_exporter:
scrape_configs: - job_name: 'node' static_configs: - targets: ['localhost:9100']Примечание: Не забудьте установить Node Exporter отдельно.
Визуализация с Grafana
Grafana — это платформа аналитики с открытым исходным кодом, которая представляет данные в виде впечатляющих панелей. Вы можете добавить Prometheus в качестве источника данных и за считанные минуты создать дашборд.
Установка Grafana
Добавьте официальный репозиторий Grafana и установите:
- sudo apt-get install -y software-properties-common
- sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
- sudo apt-get update && sudo apt-get install grafana
Запустите сервис и откройте веб-интерфейс по адресу http://ip_сервера:3000. Логин/пароль по умолчанию: admin/admin.
Создание дашборда
Чтобы создать дашборд в Grafana, выберите "Create" > "Dashboard". Затем выберите источник данных Prometheus и введите метрику. Например, для просмотра загрузки CPU:
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
Этот запрос вычисляет среднее время простоя CPU за последние 5 минут и выдает процент использования. Вы можете настроить подобные запросы для RAM, дискового ввода-вывода и сетевых метрик.
Настройка оповещений
Одна из самых мощных функций Prometheus — интеграция с Alertmanager для системы оповещений. Например, вы можете написать правило, которое будет отправлять уведомление по электронной почте, когда загрузка CPU превышает 90%.
Добавьте следующее правило в файл конфигурации Prometheus:
groups: - name: cpu_alerts rules: - alert: HighCPUUsage expr: 100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 90 for: 5m labels: severity: critical annotations: summary: "Использование CPU превышает 90%"С помощью Alertmanager вы можете направлять эти оповещения на каналы, такие как email, Slack или Telegram.
Пример из реальной жизни
После настройки Prometheus и Grafana на VDS одного из наших клиентов, когда заполнение диска достигло 85%, автоматически сработало оповещение, и мы очистили ненужные файлы логов, решив проблему. Кроме того, на панели Grafana мы заметили утечку памяти, которая обычно осталась бы незамеченной, и обновили приложение. В результате время бесперебойной работы увеличилось.
“Без мониторинга вы не сможете улучшать. Prometheus и Grafana — глаза и уши VDS-администраторов.”
В итоге с помощью этих двух инструментов вы можете шаг за шагом взять под контроль состояние вашего VDS и решать проблемы на упреждение, не давая им разрастись. Помните: мониторинг — это только начало; регулярно обновляйте свои дашборды и добавляйте новые метрики по мере необходимости.