Отметим: когда ваш парсинг обрабатывает миллионы запросов в день, без дашборда вы слепы. Ошибки копятся, прокси падают, а вы узнаёте об этом через час. Дашборд статистики парсинга решает: видеть здоровье системы в реальном времени, реагировать на сбои за минуты, оптимизировать скорость сбора. Мы разрабатываем такие дашборды под ключ с учётом ваших источников данных и инфраструктуры. Более 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 | Низкая (без расширений) | Низкая | Малые объёмы |
Как мы строим дашборд: процесс работы
- Аналитика — изучаем ваши источники данных и требования к метрикам. Определяем критические KPI. Оцениваем объём данных и частоту обновления. Проводим интервью с вашей командой, чтобы выявить узкие места.
- Проектирование схемы — выбираем инструменты (TimescaleDB, FastAPI, React). Проектируем структуру таблиц и API-эндпоинтов. Учитываем будущее масштабирование.
- Реализация API — пишем бэкенд для сбора и агрегации метрик. Обрабатываем до 10 000 запросов в секунду. Используем асинхронные воркеры для минимизации задержек.
- Фронтенд — разрабатываем интерфейс с графиками и алертами. Используем Recharts для интерактивных графиков. Добавляем фильтры по времени и scraper_id.
- Тестирование — проверяем на нагрузке до 1000 запросов/сек. Исправляем узкие места. Проводим UAT с вашей командой.
- Деплой — разворачиваем на вашем сервере или облаке. Настраиваем мониторинг самого дашборда. Даём инструкции по эксплуатации.
Что входит в работу
- Документация API в формате OpenAPI
- Исходный код дашборда (бэкенд и фронтенд)
- Инструкция по развёртыванию
- Обучение команды (до 2 часов)
- Гарантия на код 3 месяца
Сроки
Дашборд с TimescaleDB, REST API и React-визуализацией: 5–8 рабочих дней. Оценим ваш проект за 1 день. Свяжитесь с нами для консультации — предложим архитектуру под вашу нагрузку. Закажите оценку прямо сейчас, чтобы получить индивидуальное предложение. Получите индивидуальную смету за 1 день — отправьте заявку.







