/var/log/messages не создан, хотя перезапущен rsyslog.service.

Вопрос или проблема

Я использую centos7, и /var/log/messages не работает уже некоторое время, хотя я перезапустил rsyslog.service. Его размер всегда был 0.

Я затем удалил файл сообщений и снова перезапустил rsyslog, но он не был создан автоматически.

Я не могу ничего записать в данный момент. Что мне делать?

centos7 – это система на базе systemd, и ведение журнала обеспечивается демоном systemd-journald.

Вы можете отображать логи с помощью команды journalctl -r.

Много опций доступно в справке man journalctl.

Эта команда покажет все файлы, открытые с rsyslogd. Он должен показать /var/log/messages.

lsof -p $(pgrep rsyslogd)

Если вы не видите файл в выводе, rsyslog может вообще его не использовать. Поэтому проверьте вашу конфигурацию rsyslog /etc/rsyslog.conf. В ней должна быть строка, подобная этой, в стандартной установке Centos 7:

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

Для rsyslog вам сначала нужно проверить записи в конфигурационном файле /etc/rsyslog.conf, если ваши файлы сообщений отсутствуют в каталоге /var/log/:

 *.info;mail.none;authpriv.none;cron.none /var/log/messages

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

journalctl -k

Ответ или решение

Отсутствие файла /var/log/messages в CentOS 7 после перезапуска rsyslog.service: Пошаговое руководство по решению проблемы

Введение

Если вы столкнулись с проблемой, когда файл /var/log/messages не создаётся в CentOS 7, и его размер остаётся равным нулю после перезапуска службы rsyslog, это может быть вызвано несколькими причинами. В этой статье мы детально рассмотрим возможные причины и предоставим пошаговое руководство по диагностике и решению данной проблемы.

Шаг 1: Проверка конфигурации rsyslog

Первым делом стоит проверить конфигурационный файл rsyslog. Убедитесь, что запись для /var/log/messages присутствует в файле /etc/rsyslog.conf. По умолчанию, в стандартной установке CentOS 7 эта строка должна выглядеть следующим образом:

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

Если эта строка отсутствует, добавьте её и перезагрузите службу rsyslog с помощью команды:

sudo systemctl restart rsyslog.service

Проверьте, создаётся ли файл /var/log/messages.

Шаг 2: Проверка статуса службы rsyslog

Убедитесь, что служба rsyslog работает корректно. Для этого выполните:

sudo systemctl status rsyslog.service

Это даст вам информацию о текущем состоянии службы и возможных ошибках. Если служба не активна или имеет ошибки, попробуйте перезапустить её и проверьте системный журнал на наличие сообщений об ошибках:

sudo journalctl -xe

Шаг 3: Проверка открытых файлов rsyslog

Для проверки того, использует ли rsyslog файл /var/log/messages, выполните следующую команду:

lsof -p $(pgrep rsyslogd)

Если в выводе не отображается /var/log/messages, это указывает на то, что rsyslog не пытается записывать в этот файл. В этом случае проверьте конфигурацию rsyslog на наличие ошибок.

Шаг 4: Проверка прав доступа

Убедитесь, что права доступа к файлу /var/log/messages и его родительскому каталогу установлены правильно. Выполните следующую команду для проверки прав:

ls -l /var/log/messages

Если файл отсутствует, проверьте права на каталоги /var и /var/log:

ls -ld /var /var/log

Убедитесь, что rsyslog имеет необходимые разрешения для записи в каталог /var/log.

Шаг 5: Последовательная диагностика

Если предыдущие шаги не помогли, попробуйте запустить rsyslog в режиме отладки для более детального анализа. Для этого выполните:

sudo rsyslogd -dn

Этот режим позволяет увидеть, какие сообщения обрабатывает rsyslog и где могут возникать проблемы.

Заключение

Проблема отсутствия файла /var/log/messages в CentOS 7 может быть связана с неправильно настроенной конфигурацией rsyslog, отсутствием прав на запись или другими причинами. Следуя предложенному шагам, вы сможете диагностировать и устранить проблему. В качестве альтернативы к rsyslog вы также можете использовать систему журналирования systemd-journald для получения информации о системе, используя команду:

journalctl -r

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

Оцените материал
Добавить комментарий

Капча загружается...