Полное руководство по просмотру и мониторингу журналов ошибок в Ubuntu
Системные журналы — ваш лучший друг, когда вы хотите устранить ошибки. Вот все, что вам нужно знать о мониторинге журналов в Ubuntu.
Очень неприятно, когда ваш компьютер не работает должным образом, и вы не знаете, почему. Хотя не все проблемы, с которыми вы можете столкнуться в Ubuntu, легко решить, вы можете использовать такие ресурсы, как журналы ошибок Ubuntu, для устранения неполадок и диагностики проблем с вашим ПК.
Что такое журналы Ubuntu?
Журналы Ubuntu — это обширные файлы, в которых отслеживается все, что происходит на вашем компьютере. Он включает в себя записанную информацию об оборудовании, операционной системе и даже некотором программном обеспечении.
Эти журналы бесценны для процесса устранения неполадок и диагностики. Они предоставляют такую информацию, как метки времени, контекст и сведения о событиях, происходящих в вашей системе. Чтобы использовать эти журналы, вы должны сначала ознакомиться с наиболее важными типами.
Типы журналов Ubuntu
Вместо записи каждого бита информации в один журнал Ubuntu записывает информацию в отдельные журналы для разных целей. Хотя журналов слишком много для перечисления, есть несколько важных журналов (и типов журналов), о которых следует знать, прежде чем пытаться использовать их для устранения неполадок.
Возможно, наиболее заметным из всех журналов является журнал systemd systemd — это встроенный менеджер служб в Linux. В результате проблемы со многими различными службами операционной системы регистрируются в журнале systemd. Вы можете перемещаться по этому журналу с помощью команды journalctl.
Системные журналы также очень важны. Эти журналы напрямую связаны с различными частями Ubuntu и могут включать такие вещи, как системные сообщения. Некоторые из системных журналов включают:
- Журнал авторизации: любой процесс, требующий авторизации, такой как команда sudo или вход пользователя, будет записан в этот журнал.
- Журнал демона: этот журнал применяется ко всем фоновым службам (или демонам), таким как Bluetooth и SSH.
- Журнал отладки: этот журнал содержит информацию об отладке, предоставленную системой, а также приложениями, зарегистрированными в syslogd.
- Журнал ядра: этот журнал содержит записи о действиях, связанных с ядром Linux.
- Системный журнал: в этом журнале хранятся записи, которые включают большинство типов глобальных действий в вашей системе.
- Журнал сбоев: в этом журнале отслеживаются неудачные попытки входа в систему, что делает его особенно полезным для проверки того, пытался ли кто-то проникнуть в вашу систему.
На вашем компьютере также могут быть журналы приложений (например, файлы журналов Apache или файлы журналов MySQL), хранящиеся в каталоге /var/log. Вы можете использовать команду ls, чтобы получить список всех файлов журналов, хранящихся на вашем компьютере:
ls /var/log
Как читать журналы в Ubuntu
Теперь, когда вы знакомы с различными типами журналов в вашей системе, вы готовы углубиться в информацию, которую они хранят. Прежде чем начать, важно отметить, что не все системные журналы одинаковы.
Некоторые журналы сохраняются в виде текстовых файлов, в то время как другие журналы сохраняются в виде двоичных файлов. Вам необходимо ознакомиться с обоими типами файлов и инструментами командной строки, с которыми они поставляются, если вы хотите эффективно анализировать записи в вашей системе.
Журналы текстовых файлов используют шаблон, известный как RSYSLOG_TraditionalFileFormat, и включают четыре основных поля: метку времени, имя хоста, приложение и сообщение. Например, основной журнал использует этот шаблон:
В отличие от обычных текстовых журналов, двоичные журналы не так легко читаются. Вам нужно использовать инструменты командной строки, такие как who, last и lastb, чтобы читать журналы, такие как utmp, wtmp и btmp. Такие команды, как utmpdump для вариантов utmp и systemctl для journald, также предназначены для вывода двоичной информации журнала в удобочитаемом формате.
В большинстве ситуаций важно знать, как эффективно анализировать эти журналы в терминале. Вы можете использовать такие команды, как grep и tail, для извлечения определенной информации без необходимости просматривать все системные журналы.
Некоторые из лучших команд, которые вы можете использовать, включают:
- grep: ищет строку символов в файле
- end: печатает 10 строк с конца файла
- head: печатает 10 строк с начала файла
- sort: печатает файл, переупорядоченный в соответствии с вашими требованиями
Инструменты командной строки, такие как utmpdump и systemctl, также имеют полезные флаги, о которых следует помнить при работе в терминале. Эти флаги позволяют вам изменять команду и иметь больший контроль над тем, что печатается в терминале.
Некоторые особенно полезные флаги для команды journalctl:
- -b: заставляет journalctl возвращать только записи, собранные с момента последней перезагрузки
- —since “YYYY-MM-DD HH:MM:SS” —until “YYYY-MM-DD HH:MM:SS”: Сообщает, что journalctl должен возвращать только записи до и/или после указанных дат
- -p NUM: фильтровать записи по уровням приоритета системного журнала (от 0/появление до 7/отладка).
Устранение ошибок с помощью журналов Ubuntu
Теперь, когда вы знакомы с различными типами системных журналов и знаете, как их эффективно просматривать, все, что осталось, — это использовать информацию, которую вы собрали в процессе устранения неполадок. Этот процесс обычно требует некоторого творчества.
Рекомендуется подходить к устранению неполадок, сначала обдумав детали проблемы, с которой вы имеете дело. Проблема возникает при открытии определенной программы? Вылетает ли система и перезагружается каждый раз, когда возникает проблема?
Когда вы думаете о характеристиках проблемы, это, естественно, приведет вас к некоторым из лучших журналов для сбора информации о ней. Например, если у вашей системы возникают проблемы с загрузкой, вы можете получить полезную информацию, просмотрев записи запуска journald.
Введите следующую команду, чтобы распечатать все зарегистрированные загрузки в журнале:
journalctl --list-boots
Терминал распечатает список зарегистрированных загрузок; самые последние загрузки можно найти внизу списка. Просмотрите записанные даты и время каждой загрузки, пока не найдете зарегистрированную загрузку, которая не удалась.
Возьмите число из крайнего левого столбца как NUM и введите следующую команду, чтобы получить дополнительную информацию о загрузке:
journalctl -b -NUM -n
Отобразится полный список информации о загрузке. Если в процессе загрузки возникли необычные ошибки, вы можете использовать информацию в этом посте, чтобы сделать следующий шаг в устранении неполадок.
Тот же принцип применим и ко многим другим вопросам. Но если вы мало знаете о проблеме, с которой сталкивается ваш компьютер, вам может быть трудно понять, с чего начать. Есть несколько журналов, особенно полезных для решения различных проблем с системами Ubuntu.
syslog — лучший журнал для начала процесса устранения неполадок. Поскольку на самом деле это глобальный журнал, весьма вероятно, что он содержит некоторую информацию о проблеме, с которой вы имеете дело. Если у вас возникли проблемы с аутентификацией (например, пароль sudo работает неправильно) или с загрузкой, проверьте auth.login или boot.log.
Найдите наиболее релевантные журналы по ключевым словам, связанным с вашей проблемой. Например, если у вас проблемы с аутентификацией, вы можете извлечь записи из auth.login с помощью следующей команды:
cat /var/log/auth.log | grep 'Authentication failure'
В конце концов, вы обязательно найдете информацию, которая даст вам хорошее представление. Когда вы сопоставляете информацию из журналов ошибок с поиском в Интернете, вы с большей вероятностью найдете ресурсы, которые помогут вам решить проблемы с вашей системой за короткий промежуток времени.
Обратитесь к онлайн-ресурсам для устранения ошибок Linux
Вам не нужно проходить процесс устранения неполадок в одиночку. При сборе информации о проблеме с вашим ПК вы должны использовать онлайн-ресурсы, такие как Ask Ubuntu и подробные руководства по MakeUseOf, чтобы приблизиться к окончательной диагностике и ремонту вашего ПК.