Об этом проекте
Это инструмент анализа серверных логов, в котором приоритетом является конфиденциальность. Он агрегирует ежедневные логи доступа (формат Apache/Nginx Combined), уже созданные веб-сервером, и предоставляет панель управления, работающую на PHP 8.1+ и SQLite.
Концепция проектирования заключается в принципе «брать только необходимые данные». Система не сохраняет IP-адреса, оригинальные User-Agent, полные Referrer, строки запросов (Query String), отдельные запросы, копии сырых логов, количество уникальных посетителей или сессий. Сохраняются только агрегированные значения по дням: PV, 404, боты, коды состояния HTTP, опубликованные страницы, классификация разрешенных доменов-источников, а также классификация устройств/ОС/браузеров.
Основные функции:
- Идемпотентный импорт ежедневных gzip-логов в формате Apache/Nginx Combined
- Сохранение PV только для страниц из списка опубликованных маршрутов; неизвестные URL безопасно обрабатываются как 404
- Исключение статических ресурсов из PV, отдельный учет известных ботов
- Хранение ежедневных данных за 90 дней и ежемесячных агрегатов за 24 месяца (настраивается)
- Меры безопасности: защита от CSRF, безопасные сессии, ограничение попыток входа, CSP и использование PDO prepared statements
- Поддержка японского и английского языков в панели управления (выбор через locale в настройках)
Для настройки необходимо создать приватную область вне DocumentRoot, разместить config.php и routes.json, после чего запустить bin/daily-import.php через Cron. API событий не предоставляется, данные из браузеров не принимаются.
Лицензия: Apache License 2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.