LXF132:logs
|
|
|
Содержание |
Журналы. Раскопайте залежи информации о своей системе
- Файлы журналов Linux – что это такое, где их найти и зачем они вам? Ответы знает Шашанк Шарма.
Как заботливый родитель, приглядывающий за занятиями своего чада, Linux бдителен и аккуратно ведет журнал всего, что происходит в системе. Файлы журналов в Linux являются обширным и решающим источником информации при поиске неисправностей вашей системыили отдельных приложений, будь то умолкнувшие беспроводные наушники или проблемная установка VirtualBox.
Большая часть журналов помещается в файлах («логах») внутри каталога /var/log/. Там находятся самые разные журналы, каждый для своей части системы. Например, есть журналы специально для ядра Linux, равно как для APT и X-сервера.
Для чтения журналовне требуется никаких специальных программ, ведь они хранятся в виде простого текста. То есть можно не только просматривать лог-файлы, но и создавать скрипты для поиска по ним, а затем выполнять те или иные действия в зависимости от результатов. Это действительно удобно.
Почти во всех дистрибутивах Linux системные журналы создаются соответствующим демоном (syslogd). В файле /etc/syslogd.conf имеется список всех генерируемых им лог-файлов. Некоторые приложения создают собственные журналы, и они тоже находятся в каталоге /var/log/.
Журналы в Linux
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Команда dmesg – полезнейшее средство выявления проблем с оборудованием. В основном она выводит на экран информацию обо всех подключенных устройствах, обнаруженных на этапе загрузки. Однако dmesg также хранит все сообщения ядра. И если у вас барахлит видеокарта Nvidia, команда dmesg | grep nvidia скажет вам, распозналась она или нет. Там же ищите сведения про всю свою периферию: web-камеру, USB-перо, накопители, беспроводные клавиатуры и прочее.
Хотя журналы – это простой текст (читаемый и в консоли, и в графических программах), большинство дистрибутивов предусматривает для их просмотра графическое приложение. Пользователям Gnome для этого предлагается утилита gnome-system-log. Чтобы увидеть информацию, содержащуюся в журнале, выберите его в списке на левой панели и укажите дату, которая вас интересует.
Из-за громоздкости большинства журналов приходится часто применять программы вроде grep и tail, чтобы отсеять только нужную информацию, а не прокручивать всякий раз весь файл целиком. Например, использование систем авторизации – программ, которые запрашивают пароль у пользователя, таких как sudo, сеансы работы с SSH и тому подобное – отслеживается в файле /var/log/auth.log. При активной работе в этом файле может оказаться множество записей – и если вам нужна только информация, связанная с входами через sshd, скомандуйте grep sshd /var/log/auth.log | less.
По умолчанию, команда tail выводит 10 последних строк указанного файла, так что команда tail /var/log/Xorg.0.log отобразит последние 10 строк журнала X.org. Если их недостаточно для диагностики проблемы с дисплеем, можете использовать опцию -n, чтобы tail выводил заданное число строк (n) с конца.
Идея применять команду tail к файлам журнала состоит в том, что если приложение работает неправильно (например, не появляется GUI), то относящаяся к нему информация будет располагаться в самом конце файла, так как программа уже не выполняется и в журнал не добавляется ничего нового.
Если приложение все же работает и файл журнала обновляется, tail все равно пригодится для отслеживания его обновлений в реальном времени, благодаря опции -f (follow, следовать). Скажем, команда tail -f example.log запустит tail в цикле, который будет постоянно ожидать добавлений в файл. Для выхода из цикла и возврата в терминал нажмите Ctrl+C.
Архивы журналов и logrotate
Просмотрев содержимое каталога /var/log/, можно заметить, что некоторые лог-файлы имеют имена kern.log.0, kern.log.1.gz и так далее. Они образуются после ротации (автоматической архивации) журналов. С течением времени почти все журналы изрядно разрастаются, и читать их становится сложно. Тогда первоначальный файл журнала переименовывается, и заводится новый журнал kern.log.
Утилита logrotate, управляемая файлом /etc/logrotate.conf, отвечает за создание новых журналов, а также переименование и архивирование старых. Файл /etc/logrotate.conf обычно имеет следующий вид:
# rotate log files weekly weekly # keep 4 weeks worth of backlogs rotate 4 # create new (empty) log files after rotating old ones create # uncomment this if you want your log files compressed #compress # packages drop log rotation information into this directory include /etc/logrotate.d
Каталог /etc/logrotate.d содержит настройки для отдельных файлов журналов: apt, dpkg и т. д.
При соответствующей настройке logrotate не сразу удаляет старые журналы, а какое-то время хранит их в сжатом с помощью gzip виде. При желании можно указать, чтобы перед удалением logrotate отсылал старые журналы на заданный адрес электронной почты. Но прежде чем браться за реформы в /etc/logrotate.conf или любом файле из каталога /etc/logrotate.d, изучите man-страницу logrotate.
Более важными опциями настройки являются daily, weekly или monthly, которые используются для определения частоты ротации журнала. Опция rotate count укажет logrotate выполнить ротацию журнала count раз перед тем, как удалить его. Так, rotate 4 будет оставлять на хранении только четыре устаревших журнала.
Расшифровка журнала
На первый взгляд строки текста, составляющие лог-файл, кажутся полной бессмыслицей, но на самом деле разобраться в них несложно, и, к счастью, почти все журналы Linux ведутся в одном и том же простом формате.
Apr 7 03:50:01 linuxlala-GCPD CRON[5583]: pam_unix(cron:session): session opened for user root by (uid=0) Apr 7 03:50:04 linuxlala-GCPD CRON[5583]: pam_unix(cron:session): session closed for user root Apr 7 03:55:04 linuxlala-GCPD gdm[2390]: pam_unix(gdm-autologin: session): session closed for user linuxlala Apr 8 03:27:08 linuxlala-GCPD gdm[2412]: pam_unix(gdm-autologin: session): session opened for user linuxlala by (uid=0) Apr 8 03:27:08 linuxlala-GCPD gdm[2412]: pam_ck_connector(gdm-autologin:session): nox11 mode, ignoring PAM_TTY :0
Каждая строка этого небольшого фрагмента, взятого из файла /var/log/auth.log, содержит пять важных кусков информации, в таком порядке:
- Дата и время, когда сообщение попало в журнал, например Apr 7 03:55:04.
- Имя компьютера (hostname), от которого пришло сообщение – в нашем случае это linuxlala-GCPD.
- Имя программы или службы, например, gdm или cron.
- ID процесса программы или службы, пославшей сообщение – в квадратных скобках.
- Собственно текст сообщения.
Некоторые журналы в каталоге /var/log могут читаться только специальными программами или утилитами. Упомянем в этой связи лог-файл отказов входа в систему (/var/log/faillog), журнал последних входов (/var/log/lastlog) и журнал записей о входе (/var/log/wtmp), но их, однако, не прочесть без команд faillog, lastlog и who, соответственно.
Наконец, ниже приведен список наиболее важных и интересных журналов, которые когда-нибудь вам обязательно пригодятся.
Семь полезных журналов
Имя файла | Название журнала | Описание |
---|---|---|
boot.log | Журнал загрузки | Помимо последних загрузочных сообщений, расположенных в самом конце, содержит информацию обо всех запущенных и остановленных службах. |
dmesg | Журнал запуска ядра | Записывает все сообщения, выдаваемые ядром при загрузке (и не только). |
messages | Журнал сообщений | Многие программы и службы записывают cообщения в этот журнал общего назначения. |
Xorg.0.log | Журнал X-сервера | Сообщения от X-сервера X.org. |
Kern.log | Журнал ядра | Сообщения от ядра Linux. Они помогут исправить неполадки при установке нового ядра. |
Syslog | Системный журнал | Содержит информацию почти обо всем. Не найдя нужной информацию в других журналах, обращайтесь сюда. |
daemon.log | Журнал демонов | Предоставляет сведения о системных и прикладных демонах, таких как служба Bluetooth HCI, база данных MySQL и т. д. Полезен при диагностике проблем, связанных с демонами. |