Когда я должен использовать базу данных для регистрации и когда текстовые файлы?
Я вижу, что веб-серверы и веб-платформы (которые ваше приложение использует внутри) обычно (всегда?) Записывают запросы и ошибки в текстовые файлы по умолчанию. Но я вижу, что люди, которые разрабатывают свое приложение на этих серверах и платформах, иногда входят в базу данных (даже в основную базу данных приложения, а не в какую-то внешнюю).
Кроме того, может быть , есть разница между отладочными журналами и журналами аудита - Я прочитал эту классификацию где - то на этом сайте.
25
Ответы:
В общих чертах, запись в текстовый файл намного быстрее, чем в базу данных. Это основной аспект ведения журнала, который необходимо учитывать.
Причина, по которой вы регистрируетесь в БД, скорее всего, заключается в том, что вы хотите запросить результаты - поиск конкретной информации журнала в БД проще, особенно если вы регистрируете контекстную информацию, которая может использоваться для группировки записей журнала вместе. Также обычно проще получить доступ к центральной БД, чем к файлу журнала на сервере, который может быть защищен и недоступен.
В идеале было бы локально войти в файл, а затем перенести эти данные в БД для проверки при необходимости впоследствии.
Теперь одитинг - это совсем другой зверь. Хотя в принципе это похоже на ведение журнала, аудит обычно требуется хранить в течение длительного времени (в отличие от файлов журнала, используемых для отладки или трассировки, которые могут быть удалены прихотью). Аудит там, чтобы показать важную информацию. Вы регистрируете намного меньше информации аудита и реже, чем обычные записи, поэтому производительность не имеет значения. Именно по этой причине преимущества записи этой информации аудита в центральную БД видны.
источник
Не существует единого подхода, подходящего для всех подходов, и для обеспечения устойчивости иногда требуется использовать несколько подходов. В качестве примера вы можете сохранить журналы отладки в файле и сохранить журналы аудита в БД.
Применение панировочных сухарей
Плюсы: легко внедрить и сразу увидеть пользователю
Минусы: информация только сохраняется, пока приложение работает
Текстовый файл
Плюсы: простота реализации
Минусы: необходимо убедиться, что блокировка файлов не происходит. Что делать, если на диске журнала заканчивается свободное место?
Журнал событий
Плюсы: простота реализации
Минусы: журнал событий может быть переполнен, если он настроен неправильно или старые журналы могут быть потеряны из-за политики хранения / очистки.
База данных
Плюсы: простота реализации
Минусы: больше трафика БД. Как зарегистрировать потерю БД или другую проблему БД?
Обмен сообщениями (MQ)
Плюсы: уволить и забыть
Минусы: еще один слой, чтобы пойти не так. Требуется настроить
источник
Журналы аудита должны обеспечивать полную отслеживаемость операций в течение более длительного времени для целей аудита с целью полного обоснования содержимого вашей базы данных.
В некоторых случаях (например, финансовые приложения) эти журналы, возможно, должны обеспечивать соблюдение требований законодательства, таких как срок хранения (в некоторых странах в течение 10 лет) или неизменность. Поскольку эти журналы должны обосновывать содержимое базы данных на уровне приложения, обычной практикой является хранение их в базе данных, где доступ можно контролировать, чтобы избежать несанкционированного изменения.
Другие журналы , такие как журналы мониторинга или журналы безопасности, часто сталкиваются с ограничениями производительности и объема. Как правило, они записываются в файл, потому что быстрее записывать (без накладных расходов на управление транзакциями), легче архивировать в автономном режиме и легче интегрировать с инструментами SIEM внешнего мониторинга .
Следует отметить, что, хотя журналы такого типа могут использоваться для демонстрации надежности журналов аудита (например, отсутствие несанкционированного доступа), они, как правило, имеют более короткие ограничения хранения (например, от 6 месяцев до 2 лет для правоохранительных целей для журналов электросвязи). если какое-либо ограничение вообще.
источник
Одна из многих причин использовать db для ведения журнала отладки: если у вас нет доступа к приложению или веб-серверу для просмотра средства просмотра событий или текстовых файлов
Журналы аудита отличаются от журналов отладки в контексте веб-приложения, поскольку в некоторых приложениях вам может потребоваться показать их конечному пользователю, чтобы они могли войти в базу данных для облегчения поиска.
Вы можете использовать DB Tools для фильтрации и удобного просмотра.
источник