Чем можно сохранять логи и по возможности просматривать?

Поверхностно погуглил, но сразу ответа не нашёл. Посоветуйте какой-нибудь инструмент для сохранения логов, или скажите что самому писать надо.
Текущая ситуация: нагрузка растёт, логи пишутся в текстовые файлы, сбор информации по вызывающим вопросы случаям становится всё более утомительным, место на жёстких дисках кончается чаще и быстрее.
Хотелось бы вынести логирование на отдельную машину, иметь возможность сохранять информацию о событиях разных типов с разной информацией, и конечно, просматривать эту информацию не испытывая резкой боли. Например если запрос по api осуществлялся 200 раз и каждый раз возвращался ответ "обожди ещё, результат не готов" то это можно было бы увидеть как одно свёрнутое событие. Но возможность просмотра на текущий момент пока не обязательное условие, просто хотелка.
PS: Базу мы используем postgresql. Язык PHP.
PPS: Облачное логирование не подходит.
  • Вопрос задан
  • 795 просмотров
Пригласить эксперта
Ответы на вопрос 3
https://getsentry.com/welcome/ - шикарное высокоуровневое решение, но на мой взгляд оно не предназначено для лоигорования сразу всего, чтоб потом решить что нужно, скорее логировать туда ошибки, вами самим определённые события и прочее (предоставляется и как услуга, так и на своём сервере развернуть можно)

Для более общих случаев возможно стоит глянуть в сторону logstash.
Ну и познакомится с такой вещью как https://ru.wikipedia.org/wiki/Syslog
Ответ написан
Комментировать
1. Логи должны писаться в текстовые файлы, чтоб не создавать нагрузку на само приложение. Сохранять логи в базу (или куда-то ещё) это лишняя нагрузка.
2. Сохраняйте в логи только нужную информацию. Вы должны реально понимать зачем вам нужны гигабайты информации за сутки.
3. Классифицируйте файлы логов: критичные ошибки / дебаг / лог запросов или ошибки БД / ошибки приложения.
4. Гуглите парсер логов, а не способ сохранения логов.
5. Настройте корректно logrotate, чтоб место не забивалось.
Ответ написан
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
посмотрите ELK. классная штука.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы