LINUX.ORG.RU

Модернизация системы логов *nix

 , ,


1

1

Какие в истории были попытки модернизации архаичной текстовой системы логов unix (т.е. /var/log), которую к сожалению унаследовал linux?

Почему систему можно считать архаичной: не предназначена для высоконагруженных систем; не стандартизирована; не структурирована; не поддерживает цикличность (logrotate 😣); не устойчива к повреждениям (нет журналов, нет контрольных сумм); нет поддержки удалённого доступа; нет поддержки реакций на определённые события; нет универсального интерфейса пользователя.

Пример попыток модернизации: система slogger из QNX.

Актуальность: В свете последний событий, скорее всего, придётся переходить с AD на AstraLinux, и терять вышеописанный функционал Windows Event Log. И непонятно, например, как исполнять требования по типу «хранить журналы безопасности 90 дней».



Последнее исправление: raspopov (всего исправлений: 1)

И непонятно, например, как исполнять требования по типа «хранить журналы безопасности 90 дней».

Класть их в Graylog, например, не? А там уже навертеть политику ротации индексов как тебе угодно.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)

как исполнять требования

астра - дистрибутив с бумажками. и все требования, необходимые для получения этих бумажек учтены :trollface:

А вообще - сислог-сервер, централизованный сбор логов, дальше эластик, логстэш какой-нить и остальная попсятина ;)

aol ★★★★★
()

попытки модернизации архаичной текстовой системы логов unix (т.е. /var/log)

systemd/Journal?

MaZy ★★★★★
()
Ответ на: комментарий от Pinkbyte

Спасибо. На сколько я понимаю локально желательно иметь rsyslog, который перебирает зоопарк логов и как-то пытается упорядочить их, и передать на тот же graylog.

Неужели нет какой-нибудь файловой системы, которая монтируется вместо /var/log и «поглощает» все логи сразу…

raspopov
() автор топика
Ответ на: комментарий от raspopov

локально желательно иметь rsyslog

и именно он в составе астры. какая удача.

которая монтируется вместо /var/log

но «как? зачем? почему?». ведь приложения могут быть сделаны так, что не напрямую пишут в лог, а через syslog(3) и для таких отказаться от демона сислог не получится.

aol ★★★★★
()
Ответ на: комментарий от aol

но «как? зачем? почему?»

Насколько я успел ознакомится с описанием systemd/Journal - работает именно как перехватчик всего и вся. Только прямую запись в файлы в /var/log вроде бы не перехватывает.

raspopov
() автор топика
Ответ на: комментарий от raspopov

Никто ничего не перехватывает. Логи ведутся так, как их ведут пишущие в них приложения, сделать с этим ничего нельзя и тип операционной системы тут тоже ни при чём. Если приложение пишет логи через syslog - оно будет пользоваться логгером операционной системы (будь то rsyslog или что ещё), если пишет в консоль - то они будут выводиться либо сразу на экран, либо куда-то куда ты её перенаправишь (systemd перенаправляет в свой журнал консоли всех демонов). Если пишет в файл - будет писать в файл (не обязательно в /var/log кстати), и тебе повезёт если хотя бы формат строк этого файла можно настроить в конфиге демона. И повторю: такое есть в любой ОС.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

не стандартизирована - таки враньё
не поддерживает цикличность - и снова
нет поддержки удалённого доступа - и опять
нет универсального интерфейса пользователя - да что ж такое

stels ★★★
()

На самом деле в Linux можно такое настроить, задача по централизированному сбору логов не является чем-то совершенно редким.

Просто это будет совсем не так, как на Windows Server. Если искать прямые аналоги — да, ничего не найдешь, так как их попросту нет.

Но это не значит, что конечная задача «хранить журналы безопасности 90 дней» или подобные невыполнима. Очень даже выполнима, просто совсем не так, как на Windows.

Выше кидал ссылку на пример с rsyslog.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от stels

Просто это реакция Windows админа, который ищет точных аналогов ПО. А их и правда нет.

При переходе с Windows на Linux нужно искать не аналоги в смысле «была программа А, теперь будет Б», а «раньше задача решалась способом А, а теперь способом Б».

Потому что нередко речь будет идти не о смене названий и способов настройки ПО, а о смене способа решения задачи в целом.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от raspopov

которая монтируется вместо /var/log и «поглощает» все логи сразу…

в /var/log может писать не только syslog, следовательно формат этого всего добра может быть совсем разный - как ты себе это представляешь?

Pinkbyte ★★★★★
()
Ответ на: комментарий от raspopov

Только прямую запись в файлы в /var/log вроде бы не перехватывает.

Решение очень простое - везде где можно настроить отправку всего через syslog или нативно сразу слать в GELF(формат логов самого Graylog). Docker например умеет слать логи контейнеров в GELF. Если мы говорим о современном деплое приложений на серверах то надо еще постараться найти аргументы не использовать Docker(или любую другую контейнерную виртуализацию). Следовательно задача упрощается.

Для всякого legacy, которое ссыкатно трогать, придется попотеть конечно. Но такова цена работа с legacy...

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

в /var/log может писать не только syslog, следовательно формат этого всего добра может быть совсем разный - как ты себе это представляешь?

Судя по документации это уже делает rsyslog, при помощи встроенного модуля парсера.

raspopov
() автор топика
Ответ на: комментарий от raspopov

Судя по документации это уже делает rsyslog, при помощи встроенного модуля парсера.

Шта?

Вот смотри - Xorg пишет свой /var/log/Xorg.${DISPLAY}.log. Сам пишет, без использования syslog. Тупо файлик открывает и поехали.

Чем тебе тут поможет rsyslog?

Pinkbyte ★★★★★
()
Ответ на: комментарий от raspopov

Не знал. Ну это можно только от большой безнадеги заюзать, парсер то самому писать придется.

Pinkbyte ★★★★★
()

Ты описал journalctl, ты молодец, рассчитываю на тебя 👍

zolden ★★★★★
()

На сколько нужно быть инвалидом умственного труда, чтобы вместо сислога хотеть виндовский евент-лог.

ovax ★★★
()
Ответ на: комментарий от ovax

На сколько нужно быть инвалидом умственного труда, чтобы вместо сислога хотеть виндовский евент-лог.

Linux - это удивительно молчаливая ОС, по сравнению, например, с сотней журналов Windows, со всеми вытекающими проблемами. Понимаете, если система логов настолько быстрая и гибкая, то нет необходимости искусственно «затыкать рот» приложениям, и таким образом лишать себя подробных данных при расследовании ошибок. Не говоря уж о возможности автоматизации немедленной реакции на события в журналах.

raspopov
() автор топика
Ответ на: комментарий от Tsukasa

в том же дебиане лет семь как включён по дефолту.

Забавно, что в AstraLinux (т.е. Debian) journald оказывается по умолчанию запущен, но каталог /var/log/journal отсутствует, соответственно журналы сохраняются только в памяти и только для текущей сессии. А в /var/log создаются их текстовые дубликаты.

raspopov
() автор топика
Ответ на: комментарий от raspopov

Дядя, ты бредишь. Система логов Windows просто выносит мозг, потому что она адски неудобная и пишется туда очень мало. Почти в любой утилите или сервисе для Linux если я включаю verbose log, то получаю в несколько раз, а то и десятков раз больше информации.

Текстовые логи также удобны тем, что я могу просто делать grep по ним. Возможно, в Windows это тоже как-то возможно, скорее всего, установить какое-нибудь многогигабайтное тормозилло на Дот.Нет, которое будет запускаться 10 минут и с такой же скоростью искать по логам. Встроенных способов искать по логам в Windows нет.

Либо ты нас троллишь, либо только что перешел на Linux, и из-за отсутствия опыта, тебе всё кажется неудобным, и всё хочешь переделать, чтобы было как в «кошерной» винде. Не надо, пожалуйста.

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

emorozov
()
Ответ на: комментарий от emorozov

удобны

grep

Встроенных способов искать по логам в Windows нет.

4.2, например. Запускаем оснастку и нажимаем «Фильтр».

Либо ты нас троллишь

Палишься.

Radjah ★★★★★
()
Ответ на: комментарий от Tsukasa

https://www.freedesktop.org/software/systemd/man/journald.conf.html#Storage=

Именно там и прочитал, почему journald вроде бы и есть, а журналов по сути нет.

Но моё сообщение было про то, что не смотря на принадлежность AstraLinux к семейству Debian, и, как вы справедливо заметили, в Debian уже семь лет эти крутые журналы включены, но фактически они всё ещё на вторых ролях. Причём в ОС, которая изначально позиционируется как «сертифицированная».

Кстати, кто каким локальным GUI для journald пользуется?

Посмотрел несколько, понравился KSystemlog - выглядит симпатично, хотя настройки расположения журналов не соответствуют своему-же дистрибутиву. Например, журналы Xorg ищутся в /var/log, а на самом деле расположены в /var/log/fly-dm.

raspopov
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.