*Cube-Host — повний спектр хмарних послуг!!

Використання Zabbix як універсального інструменту для моніторингу вашого віртуального приватного сервера

Zabbix monitoring for a VPS: dashboards, metrics and alerts

Забезпечте передбачуваність роботи вашого VPS за допомогою реального моніторингу, а не припущень

VPS може здаватися «стабільним» аж до того дня, коли диск заповниться, оперативна пам’ять досягне межі обміну, або база даних почне «задихатися» під час пікового трафіку. Zabbix вирішує цю проблему за допомогою однієї простої ідеї: безперервно збирати метрики, візуалізувати тенденції та попереджати вас, перш ніж користувачі помітять перебої в роботі.

Цей посібник зосереджений на практичному прикладі використання VPS: моніторингу віртуального приватного сервера під управлінням Linux/Windows (процесор, пам’ять, диск, мережа, служби), налаштуванні змістовних сповіщень та забезпеченні безпеки доступу до моніторингу. Якщо ви розміщуєте проекти на Cube-Host, Zabbix стане чудовим помічником для підтримки працездатності та масштабованості вашого середовища хостингу VPS.


Що таке Zabbix і що він може моніторити

Zabbix — це платформа моніторингу з відкритим кодом, яка використовується для відстеження серверів, мереж, веб-сайтів, баз даних, віртуальних машин та хмарних сервісів. На VPS вона може моніторити сотні параметрів майже в режимі реального часу, зокрема:

  • Процесор і навантаження: використання, середні значення навантаження, перемикання контексту, iowait
  • Пам’ять: вільна/зайнята пам’ять, кеш, використання свопу, події OOM
  • Диск: вільний простір, використання інодів, затримка диска, стан SMART (якщо доступно)
  • Мережа: пропускна здатність, втрата пакетів, помилки інтерфейсу, активні з’єднання
  • Сервіси: стан nginx/apache, стан MySQL/PostgreSQL, перевірки поштового сервера, Docker, власні додатки
  • Сигнали безпеки: підозрілі входи, зміни файлів, незвичайні сплески (часто через власні елементи або моніторинг журналів)

Мета полягає не в тому, щоб «зібрати все». Мета полягає в тому, щоб зібрати правильні сигнали, встановити порогові значення та створити сповіщення, які призводять до дій.

Як працює Zabbix на VPS: сервер, агент, проксі

Більшість розгортань VPS використовують три основні компоненти. Розуміння їх значно полегшує планування:

КомпонентРольДе працюєКоли це потрібно
Сервер ZabbixЦентральний мозок: зберігає дані, оцінює тригери, надсилає сповіщенняЗазвичай виділений VPS під управлінням LinuxЗавжди (навіть якщо ви моніторите лише один хост)
Агент Zabbix (Agent/Agent2)Збирає метрики ОС/додатків і надсилає їх на серверНа кожному моніторованому VPS (Linux або Windows)Рекомендується для глибокого моніторингу ОС
Zabbix ProxyЗбирає дані локально та пересилає їх на серверВіддалені сайти / сегментовані мережіКорисно для багатьох локацій або обмежених мереж

Для одного VPS-хосту Cube-Host типова конфігурація така: сервер Zabbix на одному VPS, агент Zabbix на VPS, який ви моніторите. У міру розширення ви можете залишити один сервер і додавати більше хостів (та проксі, якщо потрібно).

Базовий контрольний список для моніторингу будь-якого VPS

Якщо ви налаштовуєте лише одне, налаштуйте саме це. Цей набір виявляє більшість інцидентів: переповнення диска, вичерпання пам’яті, перевантаження, збій служб та проблеми з мережею.

Стан системи

  • Використання та навантаження процесора (включно з iowait)
  • Використання оперативної пам’яті, використання підкачки, події OOM-кілера
  • Вільний простір на диску та використання інодів на критичних точках монтування
  • Затримка диска / введення-виведення (особливо якщо ви розміщуєте бази даних або багато невеликих файлів)
  • Час безвідмовної роботи / виявлення перезавантаження

Мережа та доступність

  • Доступність за допомогою Ping/ICMP (базова доступність)
  • Використання пропускної здатності (вхід/вихід), помилки інтерфейсу, втрата пакетів
  • Кількість TCP-з’єднань (корисно для виявлення DDoS-подібних патернів)
  • Зовнішні перевірки HTTP/HTTPS для вашого веб-сайту або кінцевих точок API

Сервіси, від яких ви насправді залежите

  • Веб-сервер (Nginx/Apache) працює час відгуку
  • Доступність бази даних (MySQL/MariaDB/PostgreSQL) уповільнення
  • Черги/робочі процеси (якщо ви використовуєте фонові завдання)
  • Поштові служби (SMTP/IMAP), якщо ваш робочий процес залежить від них (див. поштовий сервер VPS)

Сигнали безпеки (мінімально необхідні)

  • Спроби брутфорсу SSH (через моніторинг логів або лічильники Fail2Ban)
  • Несподівані піки навантаження на процесор/мережу вночі
  • Критичні зміни файлів у кореневих каталогах веб-сайтів (/var/www) та конфігураціях (/etc) для виробничих серверів

Практичні пороги сповіщень, які працюють у реальному житті

Стандартні сповіщення про «високе навантаження на процесор» часто є зайвими. Кращим підходом є сповіщення про ризики (диск майже заповнений), відмову сервісу та зниження продуктивності. Почніть з таблиці нижче та налаштуйте її відповідно до ваших базових показників.

СигналПриклад тригераЧому це важливоТипова дія
Вільний простір на диску< 15% (попередження), < 5% (критичний стан)Переповнений диск порушує роботу баз даних, журналів, оновленьОчистити журнали, розширити сховище, виправити файли, що вийшли з-під контролю
Оперативна пам’ять обмінВикористання обміну постійно зростає високий iowaitСервер працює повільно, може початися завершення процесів через OOMОптимізуйте додаток, додайте оперативну пам’ять, налаштуйте PHP-FPM/DB
Доступність сервісуПеревірка HTTP провалюється 3 рази поспільКористувачі не можуть отримати доступ до сайтуПерезапустіть службу, перевірте журнали
Затримка БДЧас відгуку перевищує базовий рівень протягом 5–10 хвилинСайт працює повільно, навіть якщо він «працює»Проаналізуйте запити, індекси, дискові операції
Помилки мережіПомилки інтерфейсу/втрата пакетів вище базового рівняПрихована першопричина перевищення часу очікуванняПеревірте маршрути, правила брандмауера, стан провайдера

Порада: розділіть сповіщення на «необхідні негайні дії» (критичні) та «переглянути найближчим часом» (попередження). Це робить Zabbix корисним, а не дратівливим.

Де встановити Zabbix: на тому ж VPS чи на виділеному VPS для моніторингу?

Ви можете встановити Zabbix Server на тому ж VPS, який ви моніторите, але в виробничому середовищі зазвичай зручніше запускати його окремо.

  • Все в одному (сервер агент на одному VPS): найшвидше рішення для лабораторії, одного сервера або навчання.
  • Виділений VPS для моніторингу: найкраща практика для бізнес-послуг — моніторинг залишається в мережі, навіть якщо VPS з додатком не працює.

Для клієнтів Cube-Host простим і масштабованим варіантом є: створити невеликий VPS під управлінням Linux для сервера Zabbix і здійснювати з нього моніторинг усіх інших екземплярів VPS. Коли ваша інфраструктура розширюється, ви масштабуєте VPS для моніторингу або додаєте проксі-сервери.

Огляд установки на VPS під Linux

Точні кроки залежать від вашого дистрибутива та версії Zabbix, але правильна загальна послідовність виглядає так:

  1. Підготуйте VPS: оновіть ОС, увімкніть брандмауер, встановіть правильний часовий пояс та NTP.
  2. Встановіть БД: MariaDB/MySQL або PostgreSQL (окремий сервер БД тільки у разі масштабування).
  3. Встановіть сервер Zabbix та інтерфейс: веб-інтерфейс (Apache/Nginx PHP) або контейнерне розгортання.
  4. Встановіть агент Zabbix на кожному VPS, що моніториться (Linux/Windows), та підключіть шаблони.
  5. Забезпечте безпеку зв’язку: використовуйте TLS (PSK або сертифікати) між сервером та агентом.
  6. Налаштування сповіщень: електронна пошта, месенджери, інструменти чергового обслуговування; додавання вікон технічного обслуговування.
  7. Резервне копіювання: експорт конфігурації бази даних Zabbix; тестове відновлення.

Приклад (агент на VPS під управлінням Linux)

Після встановлення пакета агента зазвичай налаштовують адресу сервера та ім’я хосту. Цей фрагмент коду ілюструє суть (шляхи можуть відрізнятися):

# Edit agent config
sudo nano /etc/zabbix/zabbix_agentd.conf

# Typical settings
Server=YOUR_ZABBIX_SERVER_IP
ServerActive=YOUR_ZABBIX_SERVER_IP
Hostname=web-01

# Restart agent
sudo systemctl enable --now zabbix-agent
sudo systemctl restart zabbix-agent

Нагадування щодо брандмауера: відкривайте лише необхідні порти та обмежуйте доступ за IP-адресами. Ніколи не відкривайте панелі адміністратора для широкого доступу без контролю доступу.

Сповіщення, що скорочують час простою (замість того, щоб створювати шум)

Добре налаштовані сповіщення роблять Zabbix «універсальним інструментом» для моніторингу VPS:

  • Використовуйте рівні серйозності (Інформація/Попередження/Середній/Високий/Катастрофа), щоб черговий співробітник знав, наскільки це терміново.
  • Додайте залежності (наприклад, не сповіщайте про «HTTP down» від 10 служб, якщо весь VPS недоступний).
  • Використовуйте вікна технічного обслуговування під час планових оновлень, щоб уникнути помилкових тривог.
  • Направляйте критичні сповіщення на швидкі канали (месенджер/SMS/черговий) та попередження на електронну пошту.

Захистіть доступ до панелі управління Zabbix

Zabbix має веб-інтерфейс, тому ставтеся до нього як до будь-якої адміністративної системи. Для виробничого середовища:

  • Увімкніть HTTPS (сертифікат TLS) і перенаправте HTTP → HTTPS.
  • Обмежте доступ за IP-адресами (діапазони офісу/VPN), де це можливо.
  • Розмістіть Zabbix у приватній мережі або використовуйте VPN для адміністративного доступу.
  • Використовуйте надійні паролі, ролі з мінімальними привілеями та окремі облікові записи адміністратора.

Якщо ви хочете найпростіший підхід «безпека за замовчуванням», використовуйте приватний тунель і отримуйте доступ до Zabbix тільки через VPN. Cube-Host має готову опцію: VPS VPN.

Моніторинг Windows VPS за допомогою Zabbix

Ви можете залишити сервер Zabbix на Linux (поширений підхід) та встановити агент Zabbix на хостах Windows для моніторингу процесора, оперативної пам’яті, диска, служб та журналів подій. Якщо ваша робоча навантаження вимагає стеку Microsoft або середовищ RDP, перевірте VPS Windows і продовжуйте централізовано керувати моніторингом з того самого екземпляра Zabbix.

Поширені помилки (та швидкі рішення)

  • Встановлення моніторингу на тому самому VPS, який ви моніторите: якщо VPS не працює, ви втрачаєте видимість. Виправлення: запустіть сервер Zabbix на невеликому виділеному VPS під управлінням Linux.
  • Сповіщення лише про завантаження процесора: високе завантаження процесора часто є нормальним; переповнення диска — ні. Виправлення: надайте пріоритет перевіркам диска, оперативної пам’яті/обміну, служб та затримки.
  • Відсутність базових показників: порогові значення, скопійовані з Інтернету, створюють шум. Виправлення: проводьте вимірювання протягом тижня, а потім налаштуйте тригери.
  • Відкритий доступ до інтерфейсу Zabbix в Інтернеті: панелі адміністратора стають мішенями. Виправлення: обмежте доступ, використовуйте VPN (VPS VPN), застосуйте HTTPS.
  • Відсутність резервних копій бази даних Zabbix: ви втрачаєте історію під час інцидентів. Вирішення: створюйте резервні копії конфігурацій бази даних та перевіряйте відновлення.

Наступний крок: перетворення моніторингу на планування потужностей

Як тільки сповіщення стануть стабільними, Zabbix перетвориться на інструмент планування: ви зможете бачити тенденції та вирішувати, коли оновлювати процесор, оперативну пам’ять та сховище, задовго до того, як користувачі почнуть скаржитися. У цьому полягає різниця між «реагуванням на перебої» та експлуатацією VPS як виробничої системи.

Prev
Menu