Стандартна установка Zabbix за туторіалом генерує сотні тригерів, які створюють шум і пропускають реальні збої. Після підключення готових шаблонів Linux by Zabbix agent на кожному сервері з'являється 200+ тригерів — половина спрацьовує постійно, а критичні інциденти залишаються непоміченими. Ми вирішуємо цю проблему налаштуванням production-ready моніторингу: усвідомлена архітектура, чіткі метрики та розумні пороги. За 6 років роботи ми заощадили клієнтам понад 5 мільйонів гривень на інфраструктурі за рахунок оптимізації моніторингу, а загальну кількість хибних спрацьовувань скоротили на 80%.
Як вибрати схему розгортання Zabbix?
Для одного сайту з кількома серверами підходить схема Zabbix Server + PostgreSQL на окремій VM, агенти на кожному хості. При числі хостів більше 20 або географічній розподіленості додаємо Zabbix Proxy в кожній зоні. Proxy буферизує дані та відправляє пачками — знижує навантаження на сервер і стійкий до розривів.
| Схема | Число хостів | Переваги | Недоліки |
|---|---|---|---|
| Один сервер | 1–20 | Простота, низькі витрати | Єдина точка відмови |
| З проксі | 20–200 | Масштабування, відмовостійкість | Додатковий шар |
| Розподілена (HA) | 200+ | Майже 100% uptime | Складність налаштування |
Мінімальні вимоги для сервера з 10 хостами: 2 vCPU, 4 GB RAM, 50 GB SSD (облік історії на 90 днів). Для індивідуальної консультації зв'яжіться з нами — ми підберемо оптимальну схему для вашого проєкту.
Як встановити Zabbix Server за 5 кроків
- Додайте репозиторій Zabbix 7.0 та встановіть пакети: server, frontend, agent2.
- Створіть PostgreSQL користувача та базу даних для Zabbix.
- Імпортуйте схему бази даних.
- Налаштуйте конфігурацію сервера.
- Запустіть сервер та налаштуйте автозавантаження.
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-2+ubuntu22.04_all.deb dpkg -i zabbix-release_7.0-2+ubuntu22.04_all.deb apt update && apt install -y zabbix-server-pgsql zabbix-frontend-php zabbix-sql-scripts zabbix-agent2 sudo -u postgres createuser --pwprompt zabbix sudo -u postgres createdb -O zabbix zabbix zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix Конфігурація /etc/zabbix/zabbix_server.conf:
DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=your_password StartPollers=10 StartPingers=5 CacheSize=128M HistoryCacheSize=64M ValueCacheSize=256M Установка Zabbix Agent на цільовому хості:
apt install -y zabbix-agent2 cat > /etc/zabbix/zabbix_agent2.conf << EOF Server=<ZABBIX_SERVER_IP> ServerActive=<ZABBIX_SERVER_IP> Hostname=web-server-01 AllowKey=system.run[*] EOF systemctl enable --now zabbix-agent2 Чому кастомні шаблони кращі за готові?
Готові шаблони включають сотні метрик, більшість з яких не потрібні. Ми відключаємо неінформативні тригери та додаємо бізнес-метрики: час відповіді API, кількість активних сесій, помилки в логах. На одному проєкті відключили 80% дефолтних тригерів — кількість хибних спрацьовувань знизилася з 50 до 2 на день.
Приклад налаштування користувацького параметра для PHP-FPM:
UserParameter=php-fpm.status[*],curl -s --unix-socket /run/php/php8.2-fpm.sock http://localhost/status?json Тригери, які не шумлять:
| Метрика | Умова | Рівень | Пояснення |
|---|---|---|---|
| CPU | avg(/hostname/system.cpu.util,5m) > 75 | Warning | Тривале високе завантаження |
| CPU | avg(/hostname/system.cpu.util,1m) > 90 | Critical | Миттєве перевантаження |
| Пам'ять | last(/hostname/vm.memory.size[pavailable]) < 10 | Critical | Майже немає вільної пам'яті |
| Диск | last(/hostname/vfs.fs.size[/,pfree]) < 15 | Warning | Скоро закінчиться місце |
| Nginx RPS | last(/hostname/nginx.requests) < avg(1h) * 0.3 | Warning | Аномальний спад трафіку |
Як оптимізувати зберігання даних з TimescaleDB?
При великому обсязі метрик PostgreSQL може гальмувати. Рішення — TimescaleDB. Міграція існуючої бази та налаштування стиснення:
SELECT create_hypertable('history', 'clock', chunk_time_interval => 86400, migrate_data => true); SELECT create_hypertable('history_uint', 'clock', chunk_time_interval => 86400, migrate_data => true); ALTER TABLE history SET (timescaledb.compress, timescaledb.compress_segmentby = 'itemid'); SELECT add_compression_policy('history', INTERVAL '7 days'); TimescaleDB стискає дані в 10 разів ефективніше за стандартний PostgreSQL — це знижує навантаження на диск і прискорює запити. Налаштовуємо Housekeeping: зберігати тренди 365 днів, історію — 90 днів. Після включення компресії обсяг зайнятого місця зменшується на 90%, а швидкість запитів за останню добу зростає в 5-10 разів.
Що входить в роботу
- Розгортання Zabbix Server + PostgreSQL
- Встановлення та налаштування агентів на всіх серверах
- Підключення готових та розробка кастомних шаблонів
- Налаштування тригерів та дій (Telegram, e-mail)
- Створення веб-сценаріїв для моніторингу доступності URL
- Побудова дашбордів (Zabbix + Grafana при необхідності)
- Оптимізація зберігання (TimescaleDB, housekeeping)
- Документація та навчання адміністраторів
Наш досвід та гарантії
За 6 років роботи ми розгорнули моніторинг для 50+ веб-проєктів — від невеликих інтернет-магазинів до високонавантажених сервісів з 500+ хостами. Наші інженери сертифіковані Zabbix та мають досвід роботи з кластерними конфігураціями. Гарантуємо: після налаштування ви будете отримувати тільки значущі сповіщення, а дашборд відображатиме реальний стан системи.
Терміни та вартість
Базова установка з моніторингом 3–5 серверів — 1 робочий день. Повноцінне налаштування з кастомними елементами та дашбордами — 3–5 днів. Міграція з іншої системи — додатково 1–2 дні. Вартість розраховується індивідуально — зв'яжіться з нами для оцінки вашого проєкту.
Отримайте консультацію — напишіть нам, і ми запропонуємо оптимальне рішення під ваш бюджет та терміни.







