Я пытаюсь проанализировать серию запросов приложений. Есть веб-журналы, журналы сервера приложений и журналы сервера данных, все с немного разными отметками времени в каждой строке. Я хотел бы соединить их вместе, чтобы увидеть различные журналы в порядке их появления.
Прежде чем я создам сценарий (используя awk и друзей) для этого, есть ли инструмент или существующий проект / рецепт, который делает что-то подобное?
Проверять, выписываться Splunk.
Отказ от ответственности: я не делал этого раньше.
Я думаю, что syslod - это демон для входа в системы * nix, может быть, есть лучшие. Но по сути работает для тех же целей. Я думаю, что если ваше приложение может быть настроено на использование syslogd вместо того, чтобы иметь собственный файл журнала, я думаю, у вас может быть централизованное место для просмотра и сравнения всех журналов. Это требует, чтобы вы знали параметры конфигурации вашего приложения или настраивали его код, если у него еще нет параметров, и знания о параметрах конфигурации в syslogd или других подобных инструментах. Удачной охоты и обучения :). Мне было бы интересно узнать, как это на самом деле реализовано. Опубликуйте, пожалуйста, шаги, которые вы предприняли для достижения этого, - это блог или веб-сайт или что-то еще, чтобы их можно было найти через Google.
В итоге я написал скрипт на Python.
Учитывая серию файлов, сценарий определяет тип файла в каждом случае (ищет ключевые слова в имени файла, например access_log ), и на основе этого типа извлекает согласованное значение временной метки для каждой строки. Затем сценарий объединяет строки из каждого файла в отсортированный список кортежей (отметка времени, файл, строка журнала), при необходимости фильтрует за заданный период времени и печатает результат.