Что такое логи Linux? Все системы Linux создают и хранят файлы логов информации для процессов загрузки, приложений и других событий. Эти файлы могут быть полезным ресурсом для устранения неполадок системы.
Большинство файлов логов Linux хранятся в простом текстовом файле ASCII и находятся в каталоге и подкаталоге /var/log
. Логи создаются системным демоном логов Linux, syslogd
или rsyslogd
.
В этом руководстве вы узнаете, как находить и читать файлы логов Linux, а также настраивать демон ведения системных логов.
Как просматривать логи Linux
1. Сначала откройте терминал Linux как пользователь root. Это позволит получить root-права.
2. Используйте следующую команду для просмотра папки где находятся файлов логов:
cd /var/log
3. Чтобы просмотреть логи, введите следующую команду:
ls
Команда отображает все файлы логов Linux, такие как kern.log
и boot.log
. Эти файлы содержат необходимую информацию для правильного функционирования операционной системы.
Доступ к файлам логов осуществляется с использованием привилегий root. По определению, root - это учетная запись по умолчанию, которая имеет доступ ко всем файлам Linux.
Используйте следующий пример строковой команды для доступа к соответствующему файлу:
sudo less [log name here].log
Эта команда отображает временную шкалу всей информации, относящейся к этой операции.
Обратите внимание, что файлы логов хранятся в виде обычного текста, поэтому их можно просматривать с помощью следующих стандартных команд:
zcat
- Отображает все содержимоеlogfile.gz
zmore
- Просмотр файла по страницам, не распаковывая файлыzgrep
- Поиск внутри сжатого файлаgrep
- Найти все вхождения поискового запроса в файле или отфильтровать файл логовtail
- Выводит последние несколько строк файловhead
- Просмотр самого начала текстовых файловvim
- Просмотр при помощи текстового редактора vimnano
- Просмотр при помощи текстового редактора nano
Важные системные логи Linux
Логи могут многое рассказать о работе системы. Хорошее понимание каждого типа файла поможет различать соответствующие логи.
Большинство каталогов можно сгруппировать в одну из четырех категорий:
- Системные логи (System Logs)
- Логи событий (Event Logs)
- Логи приложений (Application Logs)
- Логи обслуживания (Service Logs)
Многие из этих логов могут быть расположены в подкаталоге var/log
.
Системные логи
Файлы логов необходимы для работы Linux. Они содержат значительный объем информации о функциональности системы. Наиболее распространенные файлы логов:
/var/log/syslog
: глобальный системный журнал (может быть в/var/log/messages
)/var/log/boot.log
: лог загрузки системы, где хранится вся информация, относящаяся к операциям загрузки/var/log/auth.log
: логи аутентификации, который хранит все логи аутентификации, включая успешные и неудачные попытки (может быть в/var/log/secure
)/var/log/httpd/
: логи доступа и ошибок Apache/var/log/mysqld.log
: файл логов сервера базы данных MySQL/var/log/debug
: логи отладки, который хранит подробные сообщения, связанные с отладкой, и полезен для устранения неполадок определенных системных операций/var/log/daemon.log
: логи демона, который содержит информацию о событиях, связанных с запуском операции Linux/var/log/maillog
: логи почтового сервера, где хранится информация, относящаяся к почтовым серверам и архивированию писем/var/log/kern.log
: логи ядра, где хранится информация из ядра Linux/var/log/yum.log
: логи команд Yum/var/log/dmesg
: логи драйверов/var/log/boot.log
: логи загрузки/var/log/cron
: логи службы crond
Демон системных логов
Логирование осуществляется при помощи демона syslogd
Программы отправляют свои записи журнала в syslogd, который обращается к конфигурационному файлу /etc/syslogd.conf
или /etc/syslog
и при обнаружении совпадения записывает сообщение журнала в нужный файл журнала. Каждый файл состоит из селектора и поля ввода действия. Демон syslogd также может пересылать сообщения журнала. Это может быть полезно для отладки. Этот файл выглядит приерно так:
Dec 19 15:12:42 backup.main.merionet.ru sbatchd[495]: sbatchd/main: ls_info() failed: LIM is down; try later; trying ... Dec 19 15:14:28 system.main.merionet.ru pop-proxy[27283]: Connection from 186.115.198.84 Dec 19 15:14:30 control.main.merionet.ru pingem[271] : office.main.merionet.ru has not answered 42 times Dec 19 15:15:05 service.main.merionet.ru vmunix: Multiple softerrors: Seen 100Corrected Softerrors from SIMM J0201 Dec 19 15:15:16 backup.main.merionet.ru PAM_unix[17405]: (sshd) session closed 'for user trent
Логи приложений
Логи приложений хранят информацию, относящуюся к любому запускаемому приложению. Это может включать сообщения об ошибках, признаки взлома системы и строку идентификации браузера.
Файлы логов, которые попадают в эту категорию, включают логи системы печати CUPS, лог Rootkit Hunter, логи HTTP-сервера Apache, логи SMB-сервера Samba и лог сервера X11.
Логи не в удобочитаемом формате
Не все логи созданы в удобочитаемом формате. Некоторые предназначены только для чтения системными приложениями. Такие файлы часто связаны с информацией для входа. Они включают логи сбоев входа в систему, логи последних входов в систему и записи входа в систему.
Существуют инструменты и программное обеспечение для чтения файлов логов Linux. Они не нужны для чтения файлов, так как большинство из них можно прочитать непосредственно с терминала Linux.
Графические интерфейсы для просмотра файлов логов Linux
System Log Viewer - это графический интерфейс, который можно использовать для отслеживания системных логов.
Интерфейс предоставляет несколько функций для управления логами, включая отображение статистики лога. Это удобный графический интерфейс для мониторинга логов.
В качестве альтернативы можно использовать Xlogmaster, который может отслеживать значительное количество файлов логов.
Xlogmaster полезен для повышения безопасности. Он переводит все данные для выделения и скрытия строк и отображает эту информацию для выполнения действий, запрошенных пользователем.
Как настроить файлы логов в Ubuntu и CentOS
Начнем с примера CentOS. Чтобы просмотреть пользователей, которые в настоящее время вошли на сервер Linux, введите команду who
от имени пользователя root:
Здесь также отображается история входа в систему пользователей. Для просмотра истории входа системного администратора введите следующую команду:
last reboot
Чтобы просмотреть информацию о последнем входе в систему, введите:
lastlog
Выполнить ротацию лога
Файлы логов, в конце которых добавлены нули, являются повернутыми файлами. Это означает, что имена файлов логов были автоматически изменены в системе.
Целью ротации логов является сжатие устаревших логов, занимающих место. Ротацию лога можно выполнить с помощью команды logrotate
. Эта команда вращает, сжимает и отправляет системные логи по почте.
logrotate обрабатывает системы, которые создают значительные объемы файлов логов. Эта команда используется планировщиком cron и считывает файл конфигурации logrotate /etc/logrotate.conf
. Он также используется для чтения файлов в каталоге конфигурации logrotate.
Чтобы включить дополнительные функции для logrotate, начните с ввода следующей команды:
var/log/log name here].log { Missingok Notifempty Compress Size 20k Daily Create 0600 root root }
Он сжимает и изменяет размер желаемого файла логов.
Команды выполняют следующие действия:
missingok
- сообщает logrotate не выводить ошибку, если файл логов отсутствует.notifempty
- не выполняет ротацию файла логов, если он пуст. Уменьшает размер файла лога с помощью gzipsize
- гарантирует, что файл логов не превышает указанный размер, и поворачивает его в противном случаеdaily
- меняет файлы журналов по ежедневному расписанию. Это также можно делать по недельному или ежемесячному расписанию.create
- создает файл логов, в котором владелец и группа являются пользователем root
Итоги
Тщательное понимание того, как просматривать и читать логи Linux, необходимо для устранения неполадок в системе Linux. Использование правильных команд и инструментов может упростить этот процесс.