Дашборд парсингу: метрики, помилки, швидкість у реальному часі

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Дашборд парсингу: метрики, помилки, швидкість у реальному часі
Середній
~3-5 днів
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1361
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1252
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    958
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1190
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    931
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    949

Зауважте: коли ваш парсинг обробляє мільйони запитів на день, без дашборда ви сліпі. Помилки накопичуються, проксі падають, а ви дізнаєтеся про це через годину. Дашборд статистики парсингу вирішує: бачити здоров'я системи в реальному часі, реагувати на збої за хвилини, оптимізувати швидкість збору. Ми розробляємо такі дашборди під ключ з урахуванням ваших джерел даних та інфраструктури. Більше 5 років на ринку, 50+ успішних проєктів — наш досвід гарантує стабільність. Оцінимо ваш проєкт за 1 день. Замовте консультацію, щоб обговорити вашу задачу.

Ключові метрики

Метрика Опис
Success Rate % успішних запитів за період
Requests/min Швидкість обходу (requests per minute)
Items/hour Швидкість збору даних
Error Rate % запитів із помилками 4xx/5xx
Proxy Health % робочих проксі в пулі
Queue Depth Довжина черги URL для обходу
Avg Response Time Середній час відповіді джерела

Рішення проблеми падіння проксі

Уявіть: пул із 200 проксі, 15% з них періодично відвалюються. Без моніторингу ви втрачаєте до 30% пропускної здатності. Ми вбудовуємо в дашборд метрику Proxy Health: якщо її значення падає нижче 95%, алерт надсилається в Telegram. Аналітика показує, що середній час відновлення скорочується з 40 до 8 хвилин. Додатково ми налаштовуємо автоматичну ротацію проксі: при падінні health нижче порогу проксі виключається з пулу, а його навантаження перерозподіляється на робочі адреси. Це знижує кількість втрачених запитів на 20%. Ми також відстежуємо час відповіді та помилки по кожному проксі, що дозволяє точково замінювати проблемні IP. У нещодавньому проєкті для агрегатора електронної комерції це знизило загальний рівень помилок з 12% до 3.5% за перший тиждень. Зв'яжіться з нашими інженерами для обговорення ваших метрик.

Які метрики критично важливі для моніторингу парсингу?

Із набору метрик особливу увагу варто приділити Success Rate та Proxy Health. Success Rate показує частку успішних відповідей — якщо він падає нижче 90%, значить джерело блокує запити або проксі перевантажені. Proxy Health відстежує працездатність кожного проксі: якщо health падає, система автоматично виключає проксі з ротації. Також важливий Avg Response Time — різке зростання часто сигналізує про проблеми з мережею або перевантаження цільового сервера. Ми рекомендуємо налаштовувати дашборд так, щоб усі три метрики відображалися на головному екрані.

Чому TimescaleDB підходить для метрик парсингу?

Для часових рядів спеціалізовані інструменти ефективніші за стандартний PostgreSQL. TimescaleDB — це розширення PostgreSQL з автоматичним партиціонуванням за часом. Запити на тижневі або місячні зрізи виконуються швидко навіть при 10 млн рядків. В одному проєкті ми зберігали 500 млн записів — агрегація займала менше 2 секунд. Крім того, TimescaleDB підтримує стиснення даних, що скорочує об'єм сховища в 5–10 разів без втрати продуктивності.

# TimescaleDB (розширення PostgreSQL)
import psycopg2

CREATE TABLE scraper_metrics (
    time          TIMESTAMPTZ NOT NULL DEFAULT NOW(),
    scraper_id    INTEGER,
    requests_ok   INTEGER DEFAULT 0,
    requests_fail INTEGER DEFAULT 0,
    items_scraped INTEGER DEFAULT 0,
    avg_resp_ms   FLOAT,
    proxy_used    TEXT
);

SELECT create_hypertable('scraper_metrics', 'time');
CREATE INDEX ON scraper_metrics (scraper_id, time DESC);

API для дашборду

@app.get('/api/v1/stats/overview')
async def get_overview(scraper_id: int, period: str = '24h'):
    interval = {'1h': '1 hour', '24h': '24 hours', '7d': '7 days'}[period]

    rows = await db.fetch(f'''
        SELECT
            time_bucket('5 minutes', time) AS bucket,
            SUM(requests_ok)   AS ok,
            SUM(requests_fail) AS fail,
            SUM(items_scraped) AS items,
            AVG(avg_resp_ms)   AS avg_ms
        FROM scraper_metrics
        WHERE scraper_id = $1
          AND time > NOW() - INTERVAL '{interval}'
        GROUP BY bucket
        ORDER BY bucket
    ''', scraper_id)

    return {
        'timeline': [dict(r) for r in rows],
        'totals': {
            'requests':    sum(r['ok'] + r['fail'] for r in rows),
            'success_rate': sum(r['ok'] for r in rows) / max(sum(r['ok'] + r['fail'] for r in rows), 1),
            'items':       sum(r['items'] for r in rows),
        }
    }

Візуалізація

import { LineChart, Line, XAxis, YAxis, Tooltip, ResponsiveContainer } from 'recharts';

function MetricsChart({ data }: { data: TimelinePoint[] }) {
  return (
    <ResponsiveContainer width="100%" height={300}>
      <LineChart data={data}>
        <XAxis dataKey="bucket" tickFormatter={d => format(new Date(d), 'HH:mm')} />
        <YAxis />
        <Tooltip />
        <Line dataKey="ok"   stroke="#22c55e" name="Успішних" strokeWidth={2} dot={false} />
        <Line dataKey="fail" stroke="#ef4444" name="Помилок"   strokeWidth={2} dot={false} />
      </LineChart>
    </ResponsiveContainer>
  );
}

Алерти

Приклад налаштування алерту

Threshold success rate < 80% — automatic notification to Telegram with details: which proxy or source failed. Configured for your scenarios. For example, you can set different thresholds for different sources or add escalation via email for repeated failures.

Порівняння сховищ метрик

Сховище Продуктивність Складність Підходить для
TimescaleDB Висока (автопартиціонування) Середня Часові ряди, до 10 млн рядків/день
InfluxDB Дуже висока Вища (окремий стек) Надвеликі об'єми
PostgreSQL Низька (без розширень) Низька Малі об'єми

Як ми будуємо дашборд: процес роботи

  1. Аналітика — вивчаємо ваші джерела даних і вимоги до метрик. Визначаємо критичні KPI. Оцінюємо об'єм даних і частоту оновлення. Проводимо інтерв'ю з вашою командою, щоб виявити вузькі місця.
  2. Проєктування схеми — обираємо інструменти (TimescaleDB, FastAPI, React). Проєктуємо структуру таблиць та API-ендпоінтів. Враховуємо майбутнє масштабування.
  3. Реалізація API — пишемо бекенд для збору та агрегації метрик. Обробляємо до 10 000 запитів на секунду. Використовуємо асинхронні воркери для мінімізації затримок.
  4. Фронтенд — розробляємо інтерфейс з графіками та алертами. Використовуємо Recharts для інтерактивних графіків. Додаємо фільтри за часом та scraper_id.
  5. Тестування — перевіряємо на навантаженні до 1000 запитів/сек. Виправляємо вузькі місця. Проводимо UAT з вашою командою.
  6. Деплой — розгортаємо на вашому сервері або хмарі. Налаштовуємо моніторинг самого дашборду. Даємо інструкції з експлуатації.

Що входить в роботу

  • Документація API у форматі OpenAPI
  • Вихідний код дашборду (бекенд та фронтенд)
  • Інструкція з розгортання
  • Навчання команди (до 2 годин)
  • Гарантія на код 3 місяці

Строки

Дашборд з TimescaleDB, REST API та React-візуалізацією: 5–8 робочих днів. Оцінимо ваш проєкт за 1 день. Зв'яжіться з нами для консультації — запропонуємо архітектуру під ваше навантаження. Замовте оцінку прямо зараз, щоб отримати індивідуальну пропозицію. Отримайте індивідуальний кошторис за 1 день — надішліть заявку.

Як налаштувати веб-аналітику: GA4, GTM, Яндекс.Метрика та Amplitude

Ми часто бачимо: конверсія 1.2 %, трафік зростає, а конверсія стоїть. Маркетолог дивиться в Google Analytics і каже: «користувачі йдуть з кроку 2 оформлення замовлення». Розробник відкриває той самий крок — помилок немає, в Sentry тиша. Значить, справа не в JS-базі, а в UX або в кривих даних, які показує аналітика. Аналітика ламається непомітно: подія перестала трекатися після редеплою — ніхто не помітив; GTM-тег стріляє двічі — дані задвоїлися; фільтр GA4 виключає бота, який насправді — реальний трафік з корпоративного проксі. Замовте аудит поточних тегів — ми знайдемо причину за тиждень. Ми маємо понад 5 років досвіду в налаштуванні веб-аналітики для 100+ проєктів — гарантуємо прозорість та достовірність даних.

Після правильного налаштування економія рекламного бюджету може досягати значної суми щомісяця — це реальний кейс інтернет-магазину з 50 000 сесій на день, де дедуплікація purchase повернула 20 % невірно приписаних конверсій.

Чому події GA4 дублюються і як це виправити?

Universal Analytics закрито, його місце зайняла подієва модель GA4. У ній немає фіксованих хітів сторінок і транзакцій — лише події з параметрами. Це гнучкіше, але вимагає правильного дизайну подій.

Автоматичні події GA4 збирає сам: page_view, scroll, click, session_start. Рекомендовані події потрібно реалізувати самостійно: purchase, add_to_cart, begin_checkout, view_item. Google очікує конкретну схему параметрів — якщо передати product_id замість item_id, дані потрапляють в GA4, але не в стандартні звіти e-commerce. Кастомні події для специфіки проєкту: filter_applied, video_progress, form_step_completed. Кастомні параметри необхідно зареєструвати в GA4 Admin → Custom definitions, інакше вони не будуть доступні у звітах.

Часта помилка — подія purchase з дублями. Причина: тег спрацьовує на сторінці /thank-you, користувач оновлює сторінку — другий purchase іде в GA4. Рішення: на бекенді генеруємо унікальний transaction_id і передаємо в подію. GA4 de-duplicates по ньому — перевіряйте через DebugView. Правильна атрибуція економить до 20 % рекламного бюджету, який раніше йшов на невірно приписані конверсії.

Як налаштувати data layer, щоб не втратити дані?

GTM — інструмент для керування тегами без деплою коду. Але «без коду» не означає «без архітектури». Data Layer — основа всього. Передаємо дані з застосунку в GTM через dataLayer.push(). Структура: event + контекстні дані. Для e-commerce: перед відкриттям сторінки продукту — push з даними товару. GTM-тег читає з dataLayer, не з DOM.

window.dataLayer = window.dataLayer || [];
dataLayer.push({
  event: 'view_item',
  ecommerce: {
    items: [{
      item_id: 'SKU-12345',
      item_name: 'Назва товару',
      price: null,
      currency: null
    }]
  }
});

Погана практика: GTM-тег парсить DOM — шукає ціну в span.price, назву в h1. Це ламається при будь-якій зміні верстки. Хороша практика: завжди dataLayer. Використовуємо Preview Mode для налагодження та GTM Server-Side для чутливих даних — відправка з сервера, не з браузера, обходить блокувальники реклами, не втрачає дані. Server-side підхід у 2-3 рази надійніший за client-side за показником втрати подій через розширення браузера.

Як Яндекс.Метрика доповнює веб-аналітику?

Для російської аудиторії Метрика обов'язкова — особливо Вебвізор. Запис сесії користувача, який кинув кошик, часто дає відповідь швидше, ніж тиждень аналізу воронки. Цілі в Метриці: подієві (через ym(COUNTER_ID, 'reachGoal', 'GOAL_NAME')) або автоматичні (клік по кнопці, відвідування сторінки). Зв'язка з CRM через Метрика Плюс — передача офлайн-конверсій. Наш досвід: у 8 з 10 проєктів після налаштування Метрики знаходили приховані баги в UX, які не показували інші системи.

Що дає product analytics в Amplitude?

Amplitude — продуктовий інструмент, на відміну від маркетингових GA4 та Метрики. Він заточений під аналіз поведінки користувачів всередині продукту: воронки, ретеншн, user paths. Amplitude підходить для SaaS-продуктів, мобільних застосунків та будь-яких сервісів із зареєстрованими користувачами, де важливо зрозуміти, як проходять онбординг, на якому кроці йдуть, які фічі використовують частіше. Ключові концепції: identify (пов'язати анонімного користувача з userId після авторизації), group (акаунт у B2B SaaS), когорти для утримання. Amplitude Chart — воронка кроків за останні 30 днів з розбивкою за джерелом.

Моніторинг якості даних

Аналітика без моніторингу — чорна скринька. Налаштовуємо:

  • GA4 Realtime — перевіряємо після кожного деплою, що ключові події приходять
  • Alerting в GA4 — аномалія в кількості подій purchase (різке падіння = щось зламалося)
  • GTM Preview в staging-оточенні перед продакшеном
  • Ручні тести воронок раз на тиждень — просто пройти шлях покупця і перевірити, що все трекається

Якщо ви помітили розбіжності в даних — зв'яжіться, проведемо безкоштовний аудит коректності тегів.

Що перевіряємо після кожного деплою

  • Чи всі рекомендовані події присутні в DebugView
  • Чи немає задвоєнь (рахуємо кількість purchase на 100 сесій)
  • Чи не змінилася структура dataLayer після оновлення фронтенду

Що входить в роботу

Компонент Опис
Аудит поточних тегів Перевірка існуючих GTM-тегів, dataLayer, дублів та помилок
Дизайн подієвої схеми Документація: список подій, параметри, тригери
Налаштування GA4 + GTM Створення конфігурації, тегів, Custom definitions
Яндекс.Метрика Встановлення лічильника, створення цілей, налаштування Вебвізора
Amplitude (опціонально) Налаштування клієнтського та серверного SDK, когорти
QA та моніторинг Тестування в Preview Mode, Alerting
Навчання та передача Доступи, інструкція з додавання нових подій, консоль

Процес та терміни

  1. Аудит поточних тегів та даних (2 дні)
  2. Дизайн подієвої схеми (2 дні)
  3. Розробка Data Layer та налаштування тегів (3–5 днів)
  4. QA в Preview Mode та на staging (2 дні)
  5. Деплой та налаштування дашбордів (1 день)
Сценарій Термін
Базове налаштування GA4 + GTM 1 тиждень
Повний e-commerce tracking + Метрика 2–3 тижні
Server-side GTM + Amplitude 3–5 тижнів

Вартість розраховується індивідуально. Отримайте консультацію з налаштування веб-аналітики для вашого проєкту — ми оцінимо обсяг робіт за один день. Зв'яжіться з нами, щоб почати. Для точного розрахунку вартості залиште заявку — ми проаналізуємо ваш стек за 1 день.