Чем можно сохранять логи и по возможности просматривать?
Поверхностно погуглил, но сразу ответа не нашёл. Посоветуйте какой-нибудь инструмент для сохранения логов, или скажите что самому писать надо.
Текущая ситуация: нагрузка растёт, логи пишутся в текстовые файлы, сбор информации по вызывающим вопросы случаям становится всё более утомительным, место на жёстких дисках кончается чаще и быстрее.
Хотелось бы вынести логирование на отдельную машину, иметь возможность сохранять информацию о событиях разных типов с разной информацией, и конечно, просматривать эту информацию не испытывая резкой боли. Например если запрос по api осуществлялся 200 раз и каждый раз возвращался ответ "обожди ещё, результат не готов" то это можно было бы увидеть как одно свёрнутое событие. Но возможность просмотра на текущий момент пока не обязательное условие, просто хотелка.
PS: Базу мы используем postgresql. Язык PHP.
PPS: Облачное логирование не подходит.
https://getsentry.com/welcome/ - шикарное высокоуровневое решение, но на мой взгляд оно не предназначено для лоигорования сразу всего, чтоб потом решить что нужно, скорее логировать туда ошибки, вами самим определённые события и прочее (предоставляется и как услуга, так и на своём сервере развернуть можно)
1. Логи должны писаться в текстовые файлы, чтоб не создавать нагрузку на само приложение. Сохранять логи в базу (или куда-то ещё) это лишняя нагрузка.
2. Сохраняйте в логи только нужную информацию. Вы должны реально понимать зачем вам нужны гигабайты информации за сутки.
3. Классифицируйте файлы логов: критичные ошибки / дебаг / лог запросов или ошибки БД / ошибки приложения.
4. Гуглите парсер логов, а не способ сохранения логов.
5. Настройте корректно logrotate, чтоб место не забивалось.
1) В приложении активно используется ActiveMQ, предполагается отправить лог-сообщение в очередь для логов, откуда его потом заберёт удалённый консюмер. Не думаю, что отправить сообщение в очередь это более нагруженная операция по сравнению с записью в файл.
2) Из-за сырых данных запросов и ответов API, которые требуют предъявить партнёры при любых проблемных ситуациях и выяснении кто будет платить за косяк и чей вообще косяк.
3, 4) Вопрос скорее даже не в в сохранении, а в доступе к логам. Чтобы не использовать vpn, который на работе шустр, а дома почему-то тупит, и через ssh не искать проблему через консоль. Чтобы иметь возможности поиска-фильтрации-группировки помимо консольных. Это конечно офигенно, быть гуру консоли, но иногда хочется другого. И не всегда вывод консоли удобен.