Розробка системи моніторингу та візуалізації даних
Метрики розкидані по серверах, дашборди Grafana відображають лише технічні показники, а алерти приходять із запізненням — знайома картина? Для логістичної компанії ми побудували систему на базі TimescaleDB та ClickHouse, що об'єднала 10 000 IoT-сенсорів. Час реакції на інциденти скоротився з 30 до 2 хвилин, витрати на інфраструктуру знизилися на 40%. У проєкті для фінтех-компанії економія на ліцензіях готових рішень склала 30%, що заощадило значну суму на рік. Досвід понад п'ять років та понад 50 проєктів показує: універсальні інструменти гарні, але коли потрібна унікальна візуалізація, бізнес-контекст або embedded monitoring — без власного стеку не обійтися.
Проблеми готових стеків моніторингу
Grafana чудово малює графіки, але для бізнес-метрик не вистачає семантики. Prometheus — потужний, але retention обмежений. Коли клієнту потрібно бачити не cpu_usage, а завантаження_складу_у_відсотках_від_місткості — доводиться будувати свою систему. Якщо моніторинг — частина продукту (SaaS, IoT-платформа), його не можна прив'язати до стороннього інтерфейсу. Embedded monitoring дозволяє вбудувати дашборди та алерти прямо у ваш інтерфейс, зберігаючи єдиний стиль та логіку. Ми гарантуємо, що система працюватиме без збоїв: впроваджуємо моніторинг за best-practices з алертингом, логуванням та тестами.
Як вибрати time-series базу даних?
Вибір TSDB визначає продуктивність та вартість. Для гібридних запитів на PostgreSQL — TimescaleDB, для IoT з частотою до 100K записів/с — InfluxDB, для аналітики на мільярдах рядків — ClickHouse. TimescaleDB перевершує InfluxDB у складних запитах до 10 разів, але InfluxDB виграє за пропускною здатністю запису.
| TSDB | Коли брати | Обмеження |
|---|---|---|
| TimescaleDB | Потрібна реляційна схема + час (PostgreSQL-екосистема) | При 10K+ вставок/с може гальмувати |
| InfluxDB | IoT, сенсори, до 100K записів/с | Немає повноцінного SQL |
| ClickHouse | Аналітика, мільярди рядків, складні агрегації | Висока затримка вставки (не real-time 1:1) |
TimescaleDB — фаворит для бізнесу. Hypertable партиціонує за часом автоматично:
-- Створення time-series таблиці SELECT create_hypertable('metrics', 'time'); -- Швидка вставка INSERT INTO metrics (time, device_id, temperature, humidity) VALUES (NOW(), 'sensor_42', 23.5, 61.2); -- Агрегація з time_bucket SELECT time_bucket('5 minutes', time) AS bucket, AVG(temperature) AS avg_temp FROM metrics WHERE device_id = 'sensor_42' AND time > NOW() - INTERVAL '24 hours' GROUP BY bucket ORDER BY bucket; Джерело: документація TimescaleDB
Як організувати real-time візуалізацію?
WebSocket — стандарт для дашбордів. Використовуємо ws для Node.js або Tornado для Python. Приклад підписки:
// WebSocket підписка на метрику const ws = new WebSocket('wss://monitor.example.com/stream'); ws.send(JSON.stringify({ subscribe: ['cpu_usage', 'memory_usage'], device_id: 'server_01', interval: 5000 })); ws.onmessage = ({ data }) => { const metric = JSON.parse(data); updateChart(metric.name, metric.value, metric.timestamp); }; Сервер публікує нові значення з TSDB через Redis Pub/Sub або Kafka. Затримка — менше 1 секунди. Для frontend використовуємо React, Recharts або D3, створюючи кастомні дашборди моніторингу.
Алерти та анотації
Алерти бувають чотирьох типів:
| Тип алерту | Опис | Приклад |
|---|---|---|
| Пороговий | Перевищення фіксованого значення за період | CPU > 90% за 5 хв |
| Anomaly detection | Відхилення від історичної норми (ML) | CPU > 3σ |
| Відсутність даних | Зникнення метрик від сенсора | Немає даних від sensor_42 |
| Rate of change | Різкий стрибок | CPU виріс >20% за хвилину |
Канали сповіщень: email, Telegram, Slack, PagerDuty, SMS, webhook.
Анотації — маркери на часових графіках, що пояснюють аномалії: деплой нової версії, планове обслуговування, інцидент.
CREATE TABLE annotations ( id, title, description TEXT, tags TEXT[], start_time, end_time, created_by ); Приклад архітектури для IoT
- Collector: MQTT broker → Telegraf → InfluxDB
- Backend: Node.js + WebSocket
- Dashboard: React + Recharts
- Alert: custom Python service with ML anomaly detection
Що входить в роботу
До складу послуги входить: проєктна документація (архітектурний опис, схема даних), вихідний код з тестами, документація з експлуатації, навчання команди (воркшоп з адміністрування системи), а також гарантійний супровід протягом 12 місяців. Додатково надаємо SLA на час реакції — до 4 годин для критичних інцидентів. Ви отримуєте fully managed рішення: ми розгортаємо систему на вашій інфраструктурі, налаштовуємо CI/CD та передаємо всі доступи.
Процес розробки та терміни
- Аналітика: виявляємо джерела метрик, частоту, критичність (2–3 дні).
- Проєктування: вибираємо TSDB, схему даних, архітектуру (3–7 днів).
- Реалізація: пишемо collector, alert engine, дашборди (MVP 6–8 тижнів).
- Тестування: навантажувальне тестування, chaos engineering (2 тижні).
- Деплой та документування: розгортання на вашій інфраструктурі, навчання команди (1 тиждень).
- Гарантія та підтримка: 12 місяців супроводу, SLA 4 години.
Терміни: MVP — 6–8 тижнів, повна система — 4–6 місяців. Вартість розраховується індивідуально — запитайте комерційну пропозицію.
Чому обирають нас
Досвід понад 5 років, 50+ проєктів (від IoT до фінтеху), власні шаблони дашбордів та бібліотеки алертів. Використовуємо ClickHouse за best-practices. Сертифікати виробників. Зв'яжіться з нами — покажемо кейси, аналогічні вашому, і запропонуємо архітектуру за 3 дні. Замовте консультацію, щоб обговорити вашу архітектуру.







