Linux запись лога в файл. Система Syslog и журналы логов в Linux. Просмотр и управление файлами журналов

Linux запись лога в файл. Система Syslog и журналы логов в Linux. Просмотр и управление файлами журналов

П еред тем, как начать с этого руководства рекомендуется, чтобы вы вошли на свой Linux и следовать этому руководству, глядя непосредственно на файлы, так как это лучший способ узнать и запомнить тему.

Узнайте о файлах журналов, когда ваша система работает гладко, как это понимание лог-файлов поможет вам успешно диагностировать и устранить любые проблемы, которые могут возникнуть в дальнейшем.

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

Общие файлы журнала

В качестве общего стандарта в почти каждой системе Linux, файлы журналов находятся в каталоге /var/log . Любые другие приложения, которые вы можете позже установить на вашей системе, вероятно, бросят свои файлы журнала здесь. После входа в вашу систему, наберите команду

Ls -l /var/log

Чтобы просмотреть содержимое этого каталога.

/var/log/messages – Большая часть общих системных сообщений регистрируются здесь, включая сообщения во время запуска системы.
/var/log/cron – Сообщения демона cron регистрируются здесь. Создается и останавливаются задачи, а также сообщения об ошибках.
/var/log/maillog или /var/log/mail.log – Регистрация информации почтового сервера, запущенного на сервере.
/var/log/wtmp – Содержит историю всех входов и выходов.
/var/log/btmp – Записи неудачных попыток входа в систему.
/var/run/utmp – Логирование настоящего входа в состояние каждого пользователя.
/var/log/dmesg – Содержит очень важные сообщения о ядре кольцевого буфера. В человеческом понимании это означает, что, когда ядро раскручивается он записывает всю информацию здесь. Команда dmesg может быть использована для просмотра сообщений этого файла.
/var/log/secure – Сообщения, связанные с безопасностью будут храниться здесь. Это включает в себя сообщения от SSH – демона, неудачный ввод пароля, несуществующих пользователей и т.д.
/var/log/mariadb – Если MariaDB установлена в системе, то это место, где она будет бросать журналы по умолчанию
/var/log/mysql – Если база данных устанавливается, то это директория записи данных по умолчанию.

Просмотр и управление файлами журналов

Первичная регистрация Linux демона процесс rsyslogd и его конфигурация находится в /etc/rsyslog.conf .

Для всех файлов журналов с открытым текстом, журналы можно просмотреть с помощью команды cat . Однако, если файл журнала очень большой, то вы можете захотеть использовать команду tail , которая может показать только последнюю часть журнала.

Для просмотра последних 500 записей файла введите следующую команду:

Tail -n 500 /var/log/messages

Для мониторинга журналов в режиме реального времени tail -f также очень полезная команда, которая будет отслеживать сообщения, как они вошли. Это особенно полезно при поиске и устранении потоков почты и ошибки доставки почты.

Tail -f /var/log/maillog

Некоторые журналы Linux, как бинарные файлы, которые должны быть разобраны другим приложением, специально адаптированный для просмотра этих журналов. Эти журналы сохраняются в /var/log/wtmp /var/log/btmp и /var/run/utmp .

Для просмотра содержимого /var/log/wtmp используется: last
Для просмотра содержимого /var/log/btmp используется: lastb
Для просмотра содержимого /var/run/utmp используется: who

Cpanel файлы конкретных журналов

Файлы журнала Apache:

/usr/local/apache/logs/ – Общие журналы .
/usr/local/apache/domlogs/ – Журналы конкретного домена.

файлы журнала Exim:

/var/log/exim_mainlog
/var/log/exim_rejectlog

Файлы журнала Cpanel:

/usr/local/cpanel/logs/ – Все связанные с Cpanel сообщений в этом месте.

Файлы конкретных журналов DirectAdmin

Файлы журнала DirectAdmin

/var/log/directadmin/ – DirectAdmin связанные журналы.

Файлы журналов

/var/log/httpd/ – Веб-сервер Apache вошли в стандартный каталог.
/var/log/httpd/domains/ – Для всех остальных доменов журналы находятся в этом подкаталоге.

Файлы журнала

/var/log/proftpd/ – Если используется ProFTPd.
/var/log/pureftpd.log – Если используется PureFTPd.

Файлы журналов Exim

/var/log/exim/ – Журналы агента пересылки почты Exim в этой директории.

Файлы журналов

/var/lib/mysql/server.hostname.com.err – Это каталог, ведение журнала на наличие ошибок, связанных с .

Файлы журналов

/var/log/yum.log – Логирование менеджера пакетов Yum.
/var/log/httpd – В системах, основанных на / RedHat CentOS это где веб-сервер Apache будет хранить журналы по умолчанию.

Файлы журналов

/var/log/apache2/ – На системах Ubuntu журналы веб-сервера Apache хранятся в этом каталоге.
/var/log/apt/ – Журналы из управления пакетами в Ubuntu.

Если вы взялись за администрирование Linux, будьте готовы к тому, что просмотр и анализ лог-файлов будет отнимать львиную долю времени того времени, что вы проводите в консоли. Анализ лога основной (а чаще всего и единственный) способ разобраться в поведении сервера.

Зачастую, лог содержит тысячи строк, так мало того, может каждую секунду увеличиваться на еще несколько записей. А смотреть желательно в живую, отслеживая реакцию на те или иные действия. Тут нам помогут две утилиты tail и less .

Просмотр логов в Linux с помощью tail .

tail (переводится как хвост) позволяет просмотреть 10 последних строк файла. Если нужно больше, достаточно об этом сказать. Например, 25:

# tail -n 25 /var/log/httpd/error_log

[ hc @ host ~ ] # tail -n 25 /var/log/httpd/error_log

А можно просто:

# tail -25 /var/log/httpd/error_log

[ hc @ host ~ ] # tail -25 /var/log/httpd/error_log

Второй полезный параметр, который можно передать -f . C этим параметром tail выводит заданное количество последних строк и продолжает считывать добавляемые строки, до тех пор пока вы не нажмете Сtrl+C – т.е. вы можете в живую отслеживать изменения в лог-файле:

# tail -5f /home/sites/web/site.ru/logs/site.ru.log 178.45.0.0 - - "GET / HTTP/1.0" 200 17401 "http://site.ru/allsorts/" "Mozilla/5.0 (iPad; CPU OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4" 217.118.0.0 - - "GET /allsorts HTTP/1.0" 301 - "http://site.ru/" 217.118.0.0 - - "GET /allsorts/ HTTP/1.0" 200 16663 "http://site.ru/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1" 85.95.0.0 - - "GET / HTTP/1.0" 200 17401 "http://vk.com/away.php" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 OPR/34.0.2036.50" 85.95.0.0 - - "GET /allsorts/ HTTP/1.0" 200 16663 "http://site.ru/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 OPR/34.0.2036.50"

[ hc @ host ~ ] # tail -5f /home/sites/web/site.ru/logs/site.ru.log

178.45.0.0 - - [ 23 / Jan / 2016 : 19 : 45 : 02 + 0300 ] "GET / HTTP/1.0" 200 17401 "http://site.ru/allsorts/" "Mozilla/5.0 (iPad; CPU OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4"

217.118.0.0 - - [ 23 / Jan / 2016 : 19 : 46 : 34 + 0300 ] "GET /allsorts HTTP/1.0" 301 - "http://site.ru/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1"

217.118.0.0 - - [ 23 / Jan / 2016 : 19 : 46 : 35 + 0300 ] "GET /allsorts/ HTTP/1.0" 200 16663 "http://site.ru/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1"

85.95.0.0 - - [ 23 / Jan / 2016 : 19 : 47 : 34 + 0300 ] "GET /allsorts/ HTTP/1.0" 200 16663 "http://site.ru/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 OPR/34.0.2036.50"

Но самое большое удобство tail в том, что в качестве параметров может быть передано несколько файлов, т.е. вы можете отслеживать несколько связанных лог-файлов одновременно:

# tail -f -n 5 -s 3 /home/sites/web/site.ru/logs/site.ru.log /var/log/httpd/domains/site.ru.error.log ==> /home/sites/web/site.ru/logs/site.ru.log <== 37.113.0.0 - - "GET /wp-content/themes/bigroll/img/delivery-feature-6.png HTTP/1.1" 200 18165 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1" 37.113.0.0 - - "GET /wp-content/themes/bigroll/img/delivery-truck.png HTTP/1.1" 200 15243 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1" 37.113.0.0 - - "GET /wp-content/themes/bigroll/img/scooter-icon-small.png HTTP/1.1" 200 4322 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1" 37.113.0.0 - - "GET /wp-content/themes/bigroll/img/link-button-shadow.png HTTP/1.1" 200 7792 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1" 37.113.0.0 - - "GET /wp-content/themes/bigroll/img/header-bg.png HTTP/1.1" 200 194475 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1" ==> /var/log/httpd/domains/site.ru.error.log <== client denied by server configuration: /home/sites/web/site.ru/public_html/xmlrpc.php client denied by server configuration: /home/sites/web/site.ru/public_html/xmlrpc.php client denied by server configuration: /home/sites/web/site.ru/public_html/xmlrpc.php client denied by server configuration: /home/sites/web/site.ru/public_html/xmlrpc.php client denied by server configuration: /home/sites/web/site.ru/public_html/xmlrpc.php

[ hc @ host ~ ] # tail -f -n 5 -s 3 /home/sites/web/site.ru/logs/site.ru.log /var/log/httpd/domains/site.ru.error.log

== > / home / sites / web / site . ru / logs / site . ru . log <= =

37.113.0.0 - - [ 23 / Jan / 2016 : 19 : 55 : 45 + 0300 ] "GET /wp-content/themes/bigroll/img/delivery-feature-6.png HTTP/1.1" 200 18165 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1"

"GET /wp-content/themes/bigroll/img/delivery-truck.png HTTP/1.1" 200 15243 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1"

37.113.0.0 - - [ 23 / Jan / 2016 : 19 : 55 : 46 + 0300 ] "GET /wp-content/themes/bigroll/img/scooter-icon-small.png HTTP/1.1" 200 4322 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1"

37.113.0.0 - - [ 23 / Jan / 2016 : 19 : 55 : 46 + 0300 ] "GET /wp-content/themes/bigroll/img/link-button-shadow.png HTTP/1.1" 200 7792 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1"

37.113.0.0 - - [ 23 / Jan / 2016 : 19 : 55 : 46 + 0300 ] "GET /wp-content/themes/bigroll/img/header-bg.png HTTP/1.1" 200 194475 "http://site.ru/delivery/" "Mozilla/5.0 (iPhone; CPU iPhone OS 9_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13C75 Safari/601.1"

== > / var / log / httpd / domains / site . ru . error . log <= =

[ Wed Jan 20 04 : 38 : 36 2016 ] [ error ] [ client 46.166.0.0 ] client denied by server configuration : / home / sites / web / site . ru / public_html / xmlrpc . php

[ Wed Jan 20 13 : 15 : 43 2016 ] [ error ] [ client 69.84.0.0 ] client denied by server configuration : / home / sites / web / site . ru / public_html / xmlrpc . php

[ Wed Jan 20 20 : 48 : 58 2016 ] [ error ] [ client 185.112.0.0 ] client denied by server configuration : / home / sites / web / site . ru / public_html / xmlrpc . php

[ Wed Jan 20 22 : 42 : 02 2016 ] [ error ] [ client 5.255.0.0 ] client denied by server configuration : / home / sites / web / site . ru / public_html / xmlrpc . php

Обратите внимание, я использовал конструкцию -s 3 – с помощью данного ключа задается интервал обновления в секундах, т.е. в данном случае перечитываться файлы будут раз в 3 секунды.

Просмотр логов в Linux с помощью less .

При всей простоте и удобстве tail обладает одним существенным недостатком – он показывает только последние строки и вы не имеете возможности поглядеть, что происходило до этих записей или в определенный момент времени. Для таких ситуаций лучше подходит утилита less .

Откроем файл:

# less /var/log/httpd/domains/big-roll.ru.error.log

[ hc @ host ~ ] # less /var/log/httpd/domains/big-roll.ru.error.log

Как видите мы можем спокойно листать содержимое файла с помощью стрелок курсора и клавиш PgUp и PgDn .
Запомните еще несколько полезных клавиш:
q – выход;
g – перейти в начало файла;
G – перейти в конец файла;
Ng – перейти на строку N (например, на 14 строку 14g);
N% – перейти на позицию N% (например, 35%);
F – перейти в режим отслеживания обновления файла, т.е. аналог tail -f ;
/pattern – прямой (вниз по файлу) поиск по образцу pattern;
?pattern – обратный (вверх по файлу);
n – следующее совпадение образца поиска;
N – предыдущее совпадение;
Выход из режима отслеживания Ctrl+C ;
Полный список всех остальных клавиш и режимов вы можете поглядеть самостоятельно – нажав h – помощь (очень советую нажать).

Невозможно представить себе пользователя и администратора сервера, или даже рабочей станции на основе Linux, который никогда не читал лог файлы. Операционная система и работающие приложения постоянно создают различные типы сообщений, которые регистрируются в различных файлах журналов. Умение определить нужный файл журнала и что искать в нем поможет существенно сэкономить время и быстрее устранить ошибку.

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

Основные лог файлы

Все файлы журналов, можно отнести к одной из следующих категорий:

  • приложения;
  • события;
  • службы;
  • системный.

Большинство же лог файлов содержится в директории /var/log .

  • /var/log/syslog или /var/log/messages содержит глобальный системный журнал, в котором пишутся сообщения с момента запуска системы, от ядра Linux, различных служб, обнаруженных устройствах, сетевых интерфейсов и много другого.
  • /var/log/auth.log или /var/log/secure - информация об авторизации пользователей, включая удачные и неудачные попытки входа в систему, а также задействованные механизмы аутентификации.
  • /var/log/dmesg - драйвера устройств. Одноименной командой можно просмотреть вывод содержимого файла. Размер журнала ограничен, когда файл достигнет своего предела, старые сообщения будут перезаписаны более новыми. Задав ключ --level= можно отфильтровать вывод по критерию значимости.
Поддерживаемые уровни журналирования (приоритеты): emerg - система неиспользуемая alert - действие должно быть произведено немедленно crit - условия критичности err - условия ошибок warn - условия предупреждений notice - обычные, но значимые условия info - информационный debug - отладочные сообщения (5:520)$ dmesg -l err usb 1-1.1: 2:1: cannot get freq at ep 0x1 usb 1-1.1: 1:1: cannot get freq at ep 0x81 usb 1-1.1: 1:1: cannot get freq at ep 0x81
  • /var/log/alternatives.log - Вывод программы update-alternatives , в котором находятся символические ссылки на команды или библиотеки по умолчанию.
  • /var/log/anaconda.log - Записи, зарегистрированные во время установки системы.
  • /var/log/audit - Записи, созданные службой аудита auditd .
  • /var/log/boot.log - Информация, которая пишется при загрузке операционной системы.
  • /var/log/cron - Отчет службы crond об исполняемых командах и сообщения от самих команд.
  • /var/log/cups - Все, что связано с печатью и принтерами.
  • /var/log/faillog - Неудачные попытки входа в систему. Очень полезно при проверке угроз в системе безопасности, хакерских атаках, попыток взлома методом перебора. Прочитать содержимое можно с помощью команды faillog .
  • var/log/kern.log - Журнал содержит сообщения от ядра и предупреждения, которые могут быть полезны при устранении ошибок пользовательских модулей встроенных в ядро.
  • /var/log/maillog/ или /var/log/mail.log - Журнал почтового сервера, используемого на ОС.
  • /var/log/pm-powersave.log - Сообщения службы экономии заряда батареи.
  • /var/log/samba/ - Логи файлового сервера Samba , который используется для доступа к общим папкам Windows и предоставления доступа пользователям Windows к общим папкам Linux.
  • /var/log/spooler - Для представителей старой школы, содержит сообщения USENET. Чаще всего бывает пустым и заброшенным.
  • /var/log/Xorg.0.log - Логи X сервера. Чаще всего бесполезны, но если в них есть строки начинающиеся с EE, то следует обратить на них внимание.

Для каждого дистрибутива будет отдельный журнал менеджера пакетов.

  • /var/log/yum.log - Для программ установленных с помощью Yum в RedHat Linux.
  • /var/log/emerge.log - Для ebuild -ов установленных из Portage с помощью emerge в Gentoo Linux.
  • /var/log/dpkg.log - Для программ установленных с помощью dpkg в Debian Linux и всем семействе родственных дистрибутивах.

И немного бинарных журналов учета пользовательских сессий.

  • /var/log/lastlog - Последняя сессия пользователей. Прочитать можно командой last .
  • /var/log/tallylog - Аудит неудачных попыток входа в систему. Вывод на экран с помощью утилиты pam_tally2 .
  • /var/log/btmp - Еже один журнал записи неудачных попыток входа в систему. Просто так, на всякий случай, если вы еще не догадались где следует искать следы активности взломщиков.
  • /var/log/utmp - Список входов пользователей в систему на данный момент.
  • /var/log/wtmp - Еще один журнал записи входа пользователей в систему. Вывод на экран командой utmpdump .
(5:535)$ sudo utmpdump /var/log/wtmp [Вт авг 11 16:50:07 2015] [~~ ] [Вт авг 11 16:50:08 2015] [~~ ] [Вт авг 11 16:50:57 2015] [Вт авг 11 16:50:57 2015] [~~ ] [Вт авг 11 16:50:57 2015]

И другие журналы

Так как операционная система, даже такая замечательная как Linux, сама по себе никакой ощутимой пользы не несет в себе, то скорее всего на сервере или рабочей станции будет крутится база данных, веб сервер, разнообразные приложения. Каждое приложения или служба может иметь свой собственный файл или каталог журналов событий и ошибок. Всех их естественно невозможно перечислить, лишь некоторые.

  • /var/log/mysql/ - Лог базы данных MySQL.
  • /var/log/httpd/ или /var/log/apache2/ - Лог веб сервера Apache, журнал доступа находится в access_log , а ошибки - в error_log .
  • /var/log/lighthttpd/ - Лог веб сервера lighttpd.

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

  • ~/.xsession-errors - Вывод stderr графических приложений X11.
Initializing "kcm_input" : "kcminit_mouse" Initializing "kcm_access" : "kcminit_access" Initializing "kcm_kgamma" : "kcminit_kgamma" QXcbConnection: XCB error: 3 (BadWindow), sequence: 181, resource id: 10486050, major code: 20 (GetProperty), minor code: 0 kf5.kcoreaddons.kaboutdata: Could not initialize the equivalent properties of Q*Application: no instance (yet) existing. QXcbConnection: XCB error: 3 (BadWindow), sequence: 181, resource id: 10486050, major code: 20 (GetProperty), minor code: 0 Qt: Session management error: networkIdsList argument is NULL
  • ~/.xfce4-session.verbose-log - Сообщения рабочего стола XFCE4.

Чем просматривать - lnav

Почти все знают об утилите less и команде tail -f . Также для этих целей сгодится редактор vim и файловый менеджер Midnight Commander. У всех есть свои недостатки: less неважно обрабатывает журналы с длинными строками, принимая их за бинарники. Midnight Commander годится только для беглого просмотра, когда нет необходимости искать по сложному шаблону и переходить помногу взад и вперед между совпадениями. Редактор vim понимает и подсвечивает синтаксис множества форматов, но если журнал часто обновляется, то появляются отвлекающие внимания сообщения об изменениях в файле. Впрочем это легко можно обойти с помощью <:view /path/to/file> .


Недавно я обнаружил еще одну годную и многообещающую, но слегка еще сыроватую, утилиту - lnav , в расшифровке Log File Navigator.




Установка пакета как обычно одной командой.


$ aptitude install lnav #Debian/Ubuntu/LinuxMint $ yum install lnav #RedHat/CentOS $ dnf install lnav #Fedora $ emerge -av lnav #Gentoo, нужно добавить в файл package.accept_keywords $ yaourt -S lnav #Arch

Навигатор журналов lnav понимает ряд форматов файлов.

  • Access_log веб сервера.
  • CUPS page_log
  • Syslog
  • dpkg.log
  • strace
  • Произвольные записи с временными отметками
  • gzip, bzip
  • Журнал VMWare ESXi/vCenter

Что в данном случае означает понимание форматов файлов? Фокус в том, что lnav больше чем утилита для просмотра текстовых файлов. Программа умеет кое что еще. Можно открывать несколько файлов сразу и переключаться между ними.


(5:471)$ sudo lnav /var/log/pm-powersave.log /var/log/pm-suspend.log

Программа умеет напрямую открывать архивный файл.


(5:471)$ lnav -r /var/log/Xorg.0.log.old.gz

Показывает гистограмму информативных сообщений, предупреждений и ошибок, если нажать клавишу . Это с моего syslog-а.


Mon May 02 20:25:00 123 normal 3 errors 0 warnings 0 marks Mon May 02 22:40:00 2 normal 0 errors 0 warnings 0 marks Mon May 02 23:25:00 10 normal 0 errors 0 warnings 0 marks Tue May 03 07:25:00 96 normal 3 errors 0 warnings 0 marks Tue May 03 23:50:00 10 normal 0 errors 0 warnings 0 marks Wed May 04 07:40:00 96 normal 3 errors 0 warnings 0 marks Wed May 04 08:30:00 2 normal 0 errors 0 warnings 0 marks Wed May 04 10:40:00 10 normal 0 errors 0 warnings 0 marks Wed May 04 11:50:00 126 normal 2 errors 1 warnings 0 marks

Кроме этого поддерживается подсветка синтаксиса, дополнение по табу и разные полезности в статусной строке. К недостаткам можно отнести нестабильность поведения и зависания. Надеюсь lnav будет активно развиваться, очень полезная программа на мой взгляд.

Лог файл (файл журнала), как вы наверное догадались, сохраняет хронологию событий для операционной системы Linux, её приложений и служб.

Файлы хранятся в виде обычного текста, чтобы их можно было легко читать. В нашей статье мы расскажем, где найти лог файлы, приведем в пример несколько основных файлов журнала и объясним, как их читать.

Где находятся лог файлы в Linux

Файлы журналов Linux обычно хранятся в папке /var / logs.

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

Например, когда команда ls выполняется к примеру в папке /var/logs, вот несколько доступных журналов:

  • kern.log
  • auth.log
  • bootstrap.log
  • alternatives.log
  • samba
  • lightdm

Последние три из этого списке являются папками, но у них есть также есть файлы журнала.

Поскольку лог файлы находятся в текстовом формате, их можно прочитать, введя следующую команду:

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

Можно указать, сколько строк должно отображаться с помощью параметра -n следующим образом:

Если же вы хотите увидеть начало файла, вы можете использовать команду head.

Основные системные журналы

Следующие лог файлы являются основными в Linux.

  • Журнал авторизации
  • Журнал демонов
  • Журнал отладки
  • Журнал ядра
  • Системный журнал

Журнал демонов (daemon.log) отслеживает службы, работающие в фоновом режиме и выполняющие важные задачи. Демоны, как правило, не выводятся на экране.

Журнал отладки предоставляет вывод отладок для приложений.

Журнал ядра содержит подробные сведения о ядре Linux.

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

Анализ содержимого файла журнала

Изображение выше показывает содержание последних 50 файлов в файле системного журнала (syslog).

Каждая строка журнала содержит следующие данные:

  • Имя хоста
  • Служба/Приложение
  • Сообщение

Пример одной из строк в файле syslog:

jan 20 12:28:56 gary-virtualbox systemd: starting cups scheduler

Ротация логов

Файлы журнала периодически меняются, чтобы они не становились слишком большими.

Утилита log rotate отвечает за ротацию файлов журнала. Вы можете определить, что журнал был заменен, потому что его название будет содержать число, такое как auth.log.1, auth.log.2.

Можно изменить частоту замены журнала, отредактировав файл /etc/logrotate.conf.

Ниже показан пример записей из файла logrotate.conf:

#rotate log files
weekly

#keep 4 weeks worth of log files

create new log files after rotating

Как вы можете видеть, эти файлы журналов меняются каждую неделю, и одновременно могут хранятся лог файлы за четыре недели.

При замене файла журнала на его месте создается новый файл.

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

Политики ротации хранятся в /etc/logrotate.d. У каждого приложения, для которого требуется собственная политика ротации, в папке с приложением будет храниться файл конфигурации.

Например, инструмент apt содержит файл в папке logrotate.d со следующим содержанием:

/var/log/apt/history.log {
rotate 12
monthly
compress
missingok
notifempty
}

В принципе, этот журнал говорит вам следующее. Журнал будет хранить лог файлы в течение 12 недель и будет меняться каждый месяц (по одному в месяц). Файл журнала будет сжат. Если в журнал не записываются сообщения (т.е. он пуст), это нормально. Журнал не будет заменяться на новый, если он пустой.

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

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Так как это постоянный вопрос новых пользователей на Линукс-форумах, им посвящается этот пост.

Новичку на форуме Линукс.
// читается скороговоркой//

Помогите телепатам!
Сообщите про железо,
Расскажите о системе,
Не скрывая ничего.

В этом деле благородном
Да поможет вам дэмэседж *
Вместе с эльэсписиаем **
Не забудьте про унэйм ***

Не скрывайте ваши логи,
И конфиги, кстати, тоже,
А запостите на форум
Со скриншотами на пару.

И тогда уж стопудово
Аксакалы юниксвея
Вам помогут и подскажут,
Как систему починить.

----------------------
* имеется в виду dmesg
** вывод команды lspci
*** команда uname -a


Зачем нужны лог-файлы и почему они важны

Нормальные [?] операционные системы ведут подробный протокол собственных действий, записывая всё происходящее в текстовые файлы, log-файлы, лог-файлы или логи . Это обычные текстовые файлы, которые можно прочесть любым текстовым редактором (или средствами самой операционной системы), хотя многие логи доступны на чтение только пользователю root.
Главное: по логам можно восстановить почти полную картину неполадки, попутно выяснив особенности вашего железа и степени его поддержки.

Вот как выглядят лог-файлы в Linux:

usbcore: registered new interface driver hiddev
input: Logitech USB Receiver as /class/input/input1
input: USB HID v1.11 Mouse on usb-0000:00:1d.0-1
input: Logitech USB Receiver as /class/input/input2
input,hiddev96: USB HID v1.11 Device on usb-0000:00:1d.0-1
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
usb 1-5: new high speed USB device using ehci_hcd and address 3
usb 1-5: configuration #1 chosen from 1 choice
scsi0: SCSI emulation for USB Mass Storage devices
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
scsi 0:0:0:0: Direct-Access ChipsBnk SD/MMCReader 4081 PQ: 0 ANSI: 2




sd 0:0:0:0: 499712 512-byte hardware sectors (256 MB)
sd 0:0:0:0: Write Protect is off
sd 0:0:0:0: Mode Sense: 0b 00 00 08
sd 0:0:0:0: Assuming drive cache: write through
sda: sda1 sda2
sd 0:0:0:0: Attached SCSI removable disk
sd 0:0:0:0: Attached scsi generic sg0 type 0
usb-storage: device scan complete
Из этого куска лога видно, что произошло два события:
  • подключилась мышь (выделено фиолетовым): input: USB HID v1.11 Mouse on usb-0000:00:1d.0-1 и скорее всего эта мышь беспроводная (об этом говорит USB Receiver )
  • подключили USB-накопитель (выделено зелёным): usb 1-5: new high speed USB device using ehci_hcd and address 3, который опознан как USB-диск scsi0: SCSI emulation for USB Mass Storage devices ёмкостью 256Мб sd 0:0:0:0: 499712 512-byte hardware sectors (256 MB) и содержащий две партиции (два раздела с данными) sda: sda1 sda2 .
Как видите, из лог-файлов можно выудить огромное количество подробностей о работе аппаратуры. Другие лог-файлы могут содержать сообщения об ошибках и часто рецепты, что можно попробовать для их исправления.

Где хранятся лог-файлы в Linux

Все лог-файлы должны лежать в одном каталоге, который находится тут:
В общем, довольно логично. Но заходить туда не обязательно: вспоминаем, что консоль - наш друг и мощное оружие в умелых руках. Для того, чтобы быстро получить логи и прикрепить их к посланию на форум / опубликованию / пересылке по почте делаем так:
  1. Из консоли:
    1. в графическом режиме - в меню программ она может называться xterm, terminal, konsole, bash.
    2. в консольном режиме - если видите перед собой чёрный экран со словами типа penta4@penta4rce:~$ ничего пока делать не надо - вы и так в консоли:-)
  2. Далее пишем:
    1. dmesg > dmesg.txt
    2. lspci -v > lspci.txt
    3. cp /var/log/X.org.0.log ~/
  3. Далее видим в своём домашнем каталоге файлы dmesg.txt и lspci.txt и X.org.0.log
Вот этих файлов от вас так настойчиво добиваются на форумах. Наличие логов, вместе с подробным описанием проблемы и разумным количеством скриншотов способны радикально быстрее получить грамотный и исчерпывающий ответ (а ещё чаще - прямую ссылку на решение).

Для более подробного изучения неполадки и выяснения особенностей работы аппаратуры можно использовать приёмы работы, замечательно описанные


Самое обсуждаемое
Цифра задушит аналог: ищи, кому выгодно Цифра задушит аналог: ищи, кому выгодно
Обзор и тестирование смартфона Huawei P8 Lite Обзор и тестирование смартфона Huawei P8 Lite
Заводские и самодельные термопрокладки — кто кого! Заводские и самодельные термопрокладки — кто кого!


top