Как скачать 300k строк журнала из моего приложения? - PullRequest
0 голосов
/ 15 февраля 2020

Я запускаю работу в своем приложении Heroku, которое генерирует около 300 тыс. Строк журнала в течение 5 минут. Мне нужно извлечь их все в файл. Как я могу это сделать?

Пользовательский интерфейс Heroku показывает журналы только в режиме реального времени с момента его открытия и сохраняет только 10 тыс. Строк.

Я подключил надстройку LogDNA в качестве стока, но их экспорт также позволяет экспортировать только 10 тыс. Строк. Чтобы даже иметь возможность экспорта, мне нужно применить фильтр поиска (я набрал 2020, потому что все строки начинаются с даты, но все же ...). Я могу прокрутить все журналы, чтобы увидеть их, но по мере прокрутки вверх дно обрезается, поэтому я не могу даже копировать и вставлять их сам.

Затем я прикрепил Sumo Logi c в качестве стока , что лучше, потому что экспортный лимит составляет 100к. Однако мне все еще нужно фильтровать журналы с интервалом от 30 до 60 с и загружать отдельно. Кроме того, он экспортируется в файл CSV и в обратном порядке (сначала самое новое, а не то, что я хочу), поэтому я должен все еще работать с файлом после его загрузки.

Нет ли возможности получить полные необработанные файлы журнала?

Ответы [ 2 ]

1 голос
/ 15 февраля 2020

Говоря исключительно с точки зрения Sumo Logi c, поскольку это единственный, с которым я знаком здесь, вы можете сделать это с помощью API поиска работы: https://help.sumologic.com/APIs/Search-Job-API/About-the-Search-Job-API

API поиска работы позволяет запустить поиск, опросить его о статусе, а затем, когда он будет завершен, пролистать результаты (я думаю, до 1М записей) и делать с ними все, что вы захотите, например, выгружать их в CSV-файл.

Но это доступно только для пробных и корпоративных учетных записей.

Я только что посмотрел документы Heroku, и не похоже, что у них есть собственный способ получения более 1500 и вы должны пересылать эти журналы через syslog на отдельный сервер / службу.

Я думаю, что ваше лучшее решение будет зависеть, однако, от вашего варианта использования, например, почему именно вам нужны эти журналы в CSV.

1 голос
/ 15 февраля 2020

Нет ли возможности получить полные необработанные файлы журнала?

Там нет фактических необработанных файлов журналов.

Архитектура Heroku требует, чтобы протоколирование распространялось. По умолчанию его служба Logplex объединяет выходные данные журнала всех служб в один поток и делает его доступным через heroku logs. Однако

Logplex предназначен для сортировки и маршрутизации сообщений журнала, а не для хранения. В нем сохраняются последние 1500 строк ваших консолидированных журналов, срок действия которых истекает через 1 неделю.

Для более длительного сохранения вам нужно что-то еще. В дополнение к коммерческим службам регистрации, подобным тем, которые вы упомянули, у вас есть несколько вариантов:

...