DEV Community

chaanli
chaanli

Posted on

Построение системы мониторинга рекламного трафика на Python с Grafana

Мониторинг качества трафика в реальном времени — must have для каждого арбитражника. Вот как построить дашборд.

Стек технологий

  • Python + FastAPI для сбора данных
  • InfluxDB для хранения метрик
  • Grafana для визуализации

Сбор метрик

from fastapi import FastAPI, Request
from influxdb_client import InfluxDBClient

app = FastAPI()

@app.middleware('http')
async def track_traffic(request: Request, call_next):
    # Собираем сигналы
    ip_score = await check_ip_reputation(request.client.host)
    ja3 = extract_ja3(request)

    # Записываем в InfluxDB
    write_api.write('traffic', record={
        'measurement': 'visit',
        'tags': {'campaign': get_campaign(request)},
        'fields': {
            'ip_score': ip_score,
            'is_bot': ip_score < 30,
            'ja3_match': ja3 in KNOWN_BOTS
        }
    })
    return await call_next(request)
Enter fullscreen mode Exit fullscreen mode

Grafana Дашборд

Ключевые панели:

  1. Bot vs Human трафик (pie chart)
  2. IP Score distribution (histogram)
  3. Алерты при spike ботов

Ресурсы

Что нельзя измерить — нельзя улучшить.

Top comments (0)