Пройдите через лог-файлы Linux (пожалуйста)


11

Я просто попытался загрузить файл размером 2 МБ в gedit, и он молча умер от меня. Мне было интересно, может ли что-нибудь появиться в лог-файле, которое могло бы помочь мне диагностировать это: я проверил syslogи обнаружил, что он поврежден. При этом я понял, что ничего не знаю о том, как организовано ведение журналов на машинах * nix.

Все, что я знаю в это время

  1. Журналы обычно хранятся в /var/log/... где-нибудь еще, о чем я должен знать?

  2. Я знаком с конкретными журналами приложений, такими как apache.

  3. Я понимаю, что dmesgэто журнал загрузки, и syslogэто общий системный журнал ... это правильно? Редактировать: Бобби говорит dmesg, также общего назначения ... в чем разница между этими двумя?

Так кто-нибудь возражал бы, чтобы я проверил самые полезные журналы? Являются ли два журнала, которые я упоминаю в заключительной части, единственными общими журналами? И что за странные числа в начале строк dmesg? Секунды с момента запуска?

Пожалуйста, включите в свои ответы все, что, по вашему мнению, улучшит мое понимание здесь и поможет мне отследить аномалии!

ТИА

Энди


dmesgили /var/log/messagesэто общий журнал сообщений, а не только для загрузки. Кроме того, запуск приложения из терминала может помочь отладить проблему.
Бобби

да, я заметил, что, если я запускаю вещи через командную строку, я часто получаю возвращение application-vomit. Если я запускаю ту же программу через графический лаунчер, этот текст теряется? Считается ли хорошей практикой для графического приложения выводить сообщения stdout?
Энди

Если вы запустите программу графически, тогда stdout и stderr будут подключены ни к чему (или, в этом отношении, / dev / null), что означает, что все сообщения будут потеряны. Если вам это нужно, то либо начните с командной строки, либо перенаправьте вывод в файл, задав для команды в файле .desktop что-то вроде этого: "some_command &> some_logfile".
Петерсон

Реальный вопрос в том, нужно ли мне это! Большинство программ оставляют более полезный вывод в журналах? Используют ли продвинутые пользователи Linux stdoutдля диагностики проблем с программным обеспечением (не своими)? (По сути, я знаком с тем, как захватить stdout, но не с тем, насколько полезным может быть вывод на самом деле ...)
Энди

Я только запускаю приложения из терминала, если у меня есть проблемы с ним (получение некоторой отладочной информации и сообщений об ошибках, которые могли быть проглочены GUI). И да, это хорошая практика, и это стандартное поведение всех приложений под Linux.
Бобби

Ответы:


7

В LinuxHomeNetworking есть стартер: Краткое руководство: Ch05: Устранение неполадок в Linux с помощью системного журнала .

Вам также могут понравиться Ubuntu Tips: Как просматривать файлы системного журнала в графическом интерфейсе .

Страница Ubuntu LinuxLogFiles также является хорошей ссылкой
(размещена в комментарии Pulseк другому ответу здесь).


12

Большое спасибо Pulse за рекомендации https://help.ubuntu.com/community/LinuxLogFiles . Я вырезал некоторые фрагменты и оставил как использовать syslogdи другие важные команды, чтобы оставить это маленькое руководство для дальнейшего использования. Это с сайта Ubuntu, и я не знаю, сколько стоит для других дистрибутивов.

Системные журналы

Системные журналы имеют дело главным образом с функционированием системы Ubuntu, не обязательно с дополнительными приложениями, добавляемыми пользователями. Примеры включают механизмы авторизации, системные демоны, системные сообщения и сам системный журнал, syslog.

Журнал авторизации: /var/log/auth.log

Журнал авторизации отслеживает использование систем авторизации, механизмов авторизации пользователей, которые запрашивают пароли пользователей, таких как система Pluggable Authentication Module (PAM), sudoкоманда, удаленный вход в систему sshdи т. Д.

Log Daemon: /var/log/daemon.log

Журнал демона содержит информацию о запущенных системных и прикладных демонах, таких как демон Gnome Display Manager, демон gdmBluetooth HCI hcidили демон базы данных MySQL mysqld.

Журнал отладки: /var/log/debug

Журнал отладки предоставляет подробные сообщения отладки из системы Ubuntu и приложений, которые регистрируются syslogdна уровне DEBUG.

Журнал ядра: /var/log/kern.log

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

Кольцевой буфер буфера: dmesg

Кольцевой буфер ядра на самом деле является не файлом журнала как таковым, а скорее областью в работающем ядре, которую вы можете запрашивать при загрузке с помощью dmesgутилиты. Чтобы увидеть сообщения, используйте это:

dmesg | less

По умолчанию сценарий инициализации системы также /etc/init.d/bootmisc.shотправляет все загрузочные сообщения в файл /var/log/dmesg.

Журнал сообщений: /var/log/messages

Журнал сообщений содержит информационные сообщения от приложений и системных средств. Этот журнал полезен для проверки вывода сообщений из приложений и системных средств, которые регистрируются в syslog/ sysklogdaemon на уровне INFO.

Системный журнал: /var/log/syslog

Системный журнал обычно содержит наибольшее количество информации по умолчанию о вашей системе Ubuntu. Может содержать информацию, которую нет в других журналах. Обратитесь к системному журналу, если вы не можете найти нужную информацию журнала в другом журнале.

Журналы приложений

Многие приложения также создают входы в систему /var/log. Если вы перечислите содержимое своего /var/logподкаталога, вы увидите знакомые имена, например, /var/log/apache2представляющие журналы для веб-сервера Apache 2, или /var/log/sambaкоторые содержат журналы для сервера Samba.

Логи HTTP-сервера Apache: /var/log/apache2

При установке по умолчанию для Apache2 в Ubuntu создается подкаталог log. В этом подкаталоге находятся два файла журнала с двумя различными целями:

  • /var/log/apache2/access.log - записи каждой обслуживаемой страницы и каждого файла, загруженного веб-сервером.
  • /var/log/apache2/error.log - записи обо всех состояниях ошибок, сообщаемых HTTP-сервером

Системные журналы печати CUPS: /var/log/cups/error_log

Общая система печати Unix (CUPS) использует файл журнала по умолчанию /var/log/cups/error_logдля хранения информационных сообщений и сообщений об ошибках.

Rootkit Hunter Log: /var/log/rkhunter.log

Утилита Rootkit Hunter ( rkhunter) проверяет вашу систему Ubuntu на наличие бэкдоров, снифферов и руткитов, которые являются признаками компрометации вашей системы.

Samba SMB Server Журналы: /var/log/samba

Серверный протокол блокировки сообщений (SMB), Samba, широко используется для обмена файлами между вашим компьютером Ubuntu и другими компьютерами, поддерживающими протокол SMB. Samba хранит три разных типа журналов в подкаталоге:

  • log.nmbd - сообщения, относящиеся к функциональности Samba NETBIOS через IP (сетевые компоненты)
  • log.smbd - сообщения, относящиеся к функциональности Samba SMB / CIFS (обмен файлами и печатью)
  • log.[IP_ADDRESS] - сообщения, связанные с запросами на услуги с IP-адреса, содержащиеся в имени файла журнала.

Журнал сервера X11: /var/log/Xorg.0.log

Сервер X11 Windowing по умолчанию, используемый с Ubuntu, - это сервер Xorg X11. Этот журнал полезен для диагностики проблем в вашей среде X11.

Журналы, не читаемые человеком

Некоторые файлы журналов, найденные в /var/logподкаталоге, предназначены для чтения приложениями, а не людьми. Вот несколько примеров.

Журнал неудач входа в систему: faillog

Журнал сбоев входа в систему, расположенный на /var/log/faillogсамом деле, предназначен для анализа и отображения faillogкомандой.

Последние логины: lastlog

Последний вход в систему при входе в систему /var/log/lastlogобычно не должен анализироваться и проверяться людьми, а должен использоваться вместе с lastlogкомандой.

Вход Записи журнала: who

Файл /var/log/wtmpсодержит записи о входе в систему, но, в отличие от /var/log/lastlogвышеупомянутого, /var/log/wtmpне используется для отображения списка последних входов в систему, но вместо этого используется другими утилитами, такими как whoкоманда, чтобы представить список зарегистрированных в настоящее время вошедших в систему пользователей.


1

syslog (или, скорее, syslog.d) - это система ведения журналов, которая отвечает за написание большинства журналов /var/log. Есть и другие подобные проекты, такие как syslog-ng

system.log это просто файл с конкретным именем, в который системный журнал записывает


Спасибо за ответ: меня больше интересовала общая картина ведения журналов в Linux. Мой пример с syslog был просто преамбулой, объясняющей, как я добрался до этого общего вопроса.
Энди

0

Вы не говорите, где находитесь, но в Linux Format была статья в выпуске 132, посвященная файлам журналов. Вам нужно будет либо найти кого-то с копией, либо купить проблему, чтобы получить ее.


Я живу в Великобритании, но все еще надеюсь, что смогу получить информацию, не тратя денег (:
Энди

2
Я все еще изучаю Linux, и я обнаружил, что это полезная страница информации help.ubuntu.com/community/LinuxLogFiles
Pulse

Это только то, что я был после!
Энди
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.