Назад | Перейти на главную страницу

(Linux) Организация / var / log с использованием logrotate и rsyslog без нарушения работы важных систем

Это, вероятно, вызовет призывы к закрытию, так как он спрашивает мнение, но я не знаю, как и где спросить более подходящим образом. Заранее извиняюсь, если это оскорбляет - это не было задумано таким образом, и есть актуальный вопрос: «Что я сломаю, если сделаю это, и стоит ли это того?»

Я ненавижу то, что каталог / var / log становится неопрятным; есть файлы журналов, старые файлы журналов и каталоги, содержащие и то, и другое. Я подумываю использовать logrotate и rsyslogd, чтобы каталог выглядел примерно так:

chrony
mail
cron
messages

все это каталоги. Каждый каталог будет содержать файл и каталог:

chrony.log
history

Где logrotate используется для перемещения старых журналов в каталог истории, а текущий журнал является единственным файл в каждом каталоге. Я думаю, что это упростило бы чтение каталога, поиск соответствующего файла журнала, и это просто, очень аккуратно.

Я подозреваю, что некоторые журналы нелегко переместить - ожидается ли, что "lastlog" находится в / var / log? Собираюсь ли я что-нибудь ужасно сломать, если сделаю это?

(Я склоняюсь к мысли, что В основном каталог должен быть либо листовым узлом, либо ветвью, поэтому мне не нравится наличие /etc/httpd.conf и /etc/httpd.conf.d - почему бы не просто /etc/httpd.conf.d, содержащий base_config и другие файлы).

Интересно, это все оспаривается splunk или другим автономным хранилищем / пересылкой логов?

Да, файлы журналов и файлы конфигурации - беспорядок. Вот что происходит каждый программный проект изобретает свои собственные. Затем самоуверенные системные администраторы упаковывают их в дистрибутивы Linux, и для ведения непривилегированного журнала иногда требуется каталог со специальными разрешениями.

Я не буду перечислять все, что вам придется изменить для произвольной реструктуризации / var / log, но вот несколько категорий:

  • Там записываются файлы конфигурации, включая logrotate.
  • Скомпилировано в путях. Не знаю, где именно в стеке аутентификации / var / log / lastlog настроен.
  • Сборка безопасности, включая права доступа к файлам и SELinux. Что-то помечает logrotate как lastlog_t в CentOS.
  • Документация об отличиях от дистрибутива и Linux FHS. Просто потому, что FHS говорит, что / var / log / messages является файлом системного журнала, этого не происходит, но это задокументированный прецедент.

Делай что хочешь. Лично я не собираюсь связываться с этим, когда могу рекурсивно просматривать файлы с помощью grep. Или выполните поиск в журнале systemd. Или, что еще лучше, пересылайте журналы в центральную поисковую систему.