Существует ли фреймворк для обработки логов/текста? Допустим, на сервере идёт логирование, каждый день сохраняется в отдельный файл, сохраняются данные о нике, айпи игрока, других параметрах через определенный разделитель. Иногда нужно проанализировать, под какими никами игрок заходил с определенного айпи, в какой день и прочее. Сейчас это реализовывается за счёт прямого открытия каждого log файла и поиска данных. Хотелось бы найти фреймворк на пхп, который помог бы написать считывание новых логов, добавление в базу данных, поиск по параметрам. Как понимаю, это будет анализ + скрипт по крону, который будет скачивать и обрабатывать данные. С пхп поверхностно знаком.
Апд:
Попробую на всякий случай объяснить суть.
Мое решение будет заключаться в 2 частях, других вариантов не вижу:
Лог импорт: по крону скачивает новые логи по фтп, читает их, заносит информацию в базу данных ( в моём случае, MySQL)
Лог анализатор: веб интерфейс, который позволяет искать по параметрам, сортировать
Допустим, у меня в файле 15022015log есть такие строки:
17:33:08 |nick |99.199.999.9
17:33:08 |nick2 |99.199.999.9
17:33:08 |nick |11.111.111.1
Первый скрипт по крону проверяет, есть ли на фтп новые логи, есть ли в последнем логе новые строчки, в случае успеха, импортирует в бд например 17:33:08, nick, 99.199.999.9 в отдельные столбцы
Второй скрипт уже для веб интерфейса сортирует данные, дает возможности для поиска по параметру (по совпадению параметров) и т.д.
Возможно, есть уже готовые решения или специализированный фреймворк по первой и второй части. Чтобы можно было просто настроить импорт информации с логов, указав разделитель и готовое решение для вывода и сортировки информации, которое можно было бы дописать, исходя из индивидуальных потребностей
Нет, не смотрел. Попробую разобраться, но не совсем понимаю, что делает monolog, он только добавляет логи в бд? Спасибо за ссылку.
Попробую на всякий случай объяснить суть.
Мое решение будет заключаться в 2 частях, других вариантов не вижу:
Лог импорт: по крону скачивает новые логи по фтп, читает их, заносит информацию в базу данных ( в моём случае, MySQL)
Лог анализатор: веб интерфейс, который позволяет искать по параметрам, сортировать
Допустим, у меня в файле 15022015log есть такие строки:
17:33:08 |nick |99.199.999.9
17:33:08 |nick2 |99.199.999.9
17:33:08 |nick |11.111.111.1
Первый скрипт по крону проверяет, есть ли на фтп новые логи, есть ли в последнем логе новые строчки, в случае успеха, импортирует в бд например 17:33:08, nick, 99.199.999.9 в отдельные столбцы
Второй скрипт уже для веб интерфейса сортирует данные, дает возможности для поиска по параметру (по совпадению параметров) и т.д.
Возможно, есть уже готовые решения или специализированный фреймворк по первой и второй части. Чтобы можно было просто настроить импорт информации с логов, указав разделитель и готовое решение для вывода и сортировки информации, которое можно было бы дописать, исходя из индивидуальных потребностей
Монолог абстрагирует операцию сохранения логов. В данный момент вы пишете в файлы, потом импортируете файлы на другой сервер, там загоняете их в бд. С монологом вы можете определить хэндлер, который пишет напрямую в бд, т.е. первая часть у вас по сути, отпадает.
У меня так настроено логирование на одном из проектов: используется ElasticSearchHandler для записи в ElasticSearch. В случае необходимости анализа логов открывается вебконсоль (обычная textarea), и в нее пишется запрос, что-то в духе "select player_name from monolog_record where ip='99.99.99.99' order by date desc", но, естественно, используя dsl эластика.
Но в моем случае это применимо, потому что все, кто будет читать логи, знают, как написать такой запрос. Если нужно дать доступ девочке-менеджеру, ну тогда я не знаю :)