Просмотр системного журнала linux

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

Оригинал: Viewing Linux Logs from the Command Line
Автор: Jack Wallen
Дата публикации: 9 декабря 2016 г.
Перевод: А.Панин
Дата перевода: 14 декабря 2016 г.

При возникновении проблем с системой в первую очередь тщательно исследуется содержимое файлов системных журналов. Jack Wallen научит вас делать это.

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

Причем вы можете обнаружить в своей системе большое количество таких файлов: это файлы с информацией о событиях, происходящих на уровне системы, ядра ОС, менеджера пакетов программного обеспечения, системы инициализации, веб-сервера Apache, сервера баз данных MySQL… То есть, практически для любого вообразимого системного программного компонента существует свой файл журнала.

Большая часть файлов системных журналов расположена в удобной директории: /var/log . В ней находятся все файлы журналов системы и служб, с которыми вы наверняка будете плотно работать в том случае, если у вас возникнут какие-либо проблемы с системой или с одной из ее основных служб. Файлы с информацией о событиях, происходящих на уровне отдельных приложений с графическим интерфейсом, могут располагаться в различных директориях (например, приложение Thunderbird сохраняет файлы с информацией о событиях аварийного завершения работы в директории «/.thunderbird/Crash Reports» ). Путь к директории, в которой будут храниться файлы журнала событий, происходящих на уровне каждого отдельного приложения с графическим интерфейсом, зависит от намерений разработчика этого приложения, а также возможности указания произвольного пути к этой директории.

В данной статье мы сфокусируем свое внимание на файлах системных журналов, так как они чаще всего используются в процессе диагностики Linux-систем. А главный вопрос, на который мы постараемся ответить, звучит следующим образом: «Как просмотреть содержимое этих файлов?».

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

Директория /var/log

Данная директория является одной из наиболее важных директорий Linux-систем. Откройте окно терминала и выполните с помощью него команду cd /var/log . Теперь выполните команду ls и ознакомьтесь со списком всех файлов системных журналов из этой директории (Рисунок 1).

Рисунок 1: Список файлов из директории /var/log.

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

Просмотр содержимого файла системного журнала с помощью утилиты less

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

Читайте также:  Openvpn server linux windows client

Единственная проблема данного метода заключается в том, что размер файла syslog со временем может стать сравнительно большим; и, ввиду того, что интересующее вас сообщение будет наверняка находиться ближе к его концу, вам может быть неудобно листать строки или страницы до достижения конца файла. Поэтому после открытия файла syslog с помощью утилиты less вы также можете воспользоваться сочетанием клавиш Shift+g для немедленного перехода к концу файла. Конец файла будет обозначен с помощью специальной метки ( END ). После этого вы сможете пролистать содержимое файла вверх с помощью клавиш со стрелками или колесика мыши и найти интересующее вас сообщение.

Конечно же, такой подход не является самым эффективным.

Просмотр сообщений ядра ОС с помощью утилиты dmesg

Утилита dmesg позволяет получить доступ к содержимому кольцевого буфера, который используется для хранения информации о событиях, происходящих на уровне ядра ОС. По умолчанию данная утилита выводит все сообщения из этого кольцевого буфера. Воспользуйтесь окном терминала для выполнения команды dmesg и убедитесь в том, что все содержимое кольцевого буфера было успешно выведено (Рисунок 2).

Рисунок 2: Проблема с внешним накопителем с интерфейсом USB требует дополнительного исследования.

К счастью, существует встроенный механизм, позволяющий выводить лишь сообщения, соответствующие определенному критерию (например, связанные с работой демонов).

Предположим, вам нужно получить сообщения уровня пользователей и вы хотите использовать критерий «user» . Для этого достаточно выполнить команду dmesg —facility=user . Если какие-либо из сообщений будут соответствовать этому критерию, они будут выведены.

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

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

Просмотр содержимого файла системного журнала с помощью утилиты tail

Утилита tail , скорее всего, является одним из наиболее полезных инструментов, для просмотра файлов системных журналов. tail осуществляет вывод завершающих строк текстовых файлов. Таким образом, если вы выполните команду tail /var/log/syslog , будет выведено несколько последних строк из файла системного журнала syslog .

Но подождите, веселье еще не закончилось. Утилита tail поддерживает параметр -f , позволяющий выполнять очень удобный трюк. В случае исполнения команды tail -f /var/log/syslog утилита tail будет отслеживать изменения файла системного журнала и выводить строки, записываемые в него. Это означает, что вы можете отслеживать сообщения, записываемые в файл системного журнала с помощью окна терминала практически в реальном времени (Рисунок 3).

Рисунок 3: Отслеживание изменений в файле /var/log/syslog с помощью утилиты tail.

Благодаря возможности использования данного трюка утилита tail является незаменимым инструментом для диагностики системных проблем.

Для завершения работы утилиты tail (в режиме отслеживании изменений в файле) достаточно воспользоваться сочетанием клавиш Ctrl+x .

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

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

Читайте также:  Структура каталогов пользователя windows

Существуют и другие инструменты

Вы и сами сможете найти множество других утилит (и даже несколько отличных инструментов с графическим интерфейсом), позволяющих просматривать файлы системных журналов. Обратите внимание на такие утилиты, как more , grep , head , cat , multitail и System Log Veiwer , которые также могут пригодиться в случае возникновения необходимости в работе с файлами системных журналов.

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Как найти и читать логи в Linux

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

Большинство файлов логов Linux хранятся в простом текстовом файле ASCII и находятся в каталоге и подкаталоге /var/log . Логи создаются системным демоном логов Linux, syslogd или rsyslogd .

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

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

Как просматривать логи Linux

1. Сначала откройте терминал Linux как пользователь root. Это позволит получить root-права.

2. Используйте следующую команду для просмотра папки где находятся файлов логов:

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

Команда отображает все файлы логов Linux, такие как kern.log и boot.log . Эти файлы содержат необходимую информацию для правильного функционирования операционной системы.

Доступ к файлам логов осуществляется с использованием привилегий root. По определению, root — это учетная запись по умолчанию, которая имеет доступ ко всем файлам Linux.

Используйте следующий пример строковой команды для доступа к соответствующему файлу:

Эта команда отображает временную шкалу всей информации, относящейся к этой операции.

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

  • zcat — Отображает все содержимое logfile.gz
  • zmore — Просмотр файла по страницам, не распаковывая файлы
  • zgrep — Поиск внутри сжатого файла
  • grep — Найти все вхождения поискового запроса в файле или отфильтровать файл логов
  • tail — Выводит последние несколько строк файлов
  • head — Просмотр самого начала текстовых файлов
  • vim — Просмотр при помощи текстового редактора vim
  • nano — Просмотр при помощи текстового редактора 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
Читайте также:  Windows 10 enterprise ltsb 2016 x64 оригинальный образ

Демон системных логов

Логирование осуществляется при помощи демона syslogd

Программы отправляют свои записи журнала в syslogd, который обращается к конфигурационному файлу /etc/syslogd.conf или /etc/syslog и при обнаружении совпадения записывает сообщение журнала в нужный файл журнала. Каждый файл состоит из селектора и поля ввода действия. Демон syslogd также может пересылать сообщения журнала. Это может быть полезно для отладки. Этот файл выглядит приерно так:

Логи приложений

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

Файлы логов, которые попадают в эту категорию, включают логи системы печати CUPS, лог Rootkit Hunter, логи HTTP-сервера Apache, логи SMB-сервера Samba и лог сервера X11.

Логи не в удобочитаемом формате

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

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

Графические интерфейсы для просмотра файлов логов Linux

System Log Viewer — это графический интерфейс, который можно использовать для отслеживания системных логов.

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

В качестве альтернативы можно использовать Xlogmaster, который может отслеживать значительное количество файлов логов.

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

Как настроить файлы логов в Ubuntu и CentOS

Начнем с примера CentOS. Чтобы просмотреть пользователей, которые в настоящее время вошли на сервер Linux, введите команду who от имени пользователя root:

Здесь также отображается история входа в систему пользователей. Для просмотра истории входа системного администратора введите следующую команду:

Чтобы просмотреть информацию о последнем входе в систему, введите:

Выполнить ротацию лога

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

Целью ротации логов является сжатие устаревших логов, занимающих место. Ротацию лога можно выполнить с помощью команды logrotate . Эта команда вращает, сжимает и отправляет системные логи по почте.

logrotate обрабатывает системы, которые создают значительные объемы файлов логов. Эта команда используется планировщиком cron и считывает файл конфигурации logrotate /etc/logrotate.conf . Он также используется для чтения файлов в каталоге конфигурации logrotate.

Чтобы включить дополнительные функции для logrotate, начните с ввода следующей команды:

Он сжимает и изменяет размер желаемого файла логов.

Команды выполняют следующие действия:

  • missingok — сообщает logrotate не выводить ошибку, если файл логов отсутствует.
  • notifempty — не выполняет ротацию файла логов, если он пуст. Уменьшает размер файла лога с помощью gzip
  • size — гарантирует, что файл логов не превышает указанный размер, и поворачивает его в противном случае
  • daily — меняет файлы журналов по ежедневному расписанию. Это также можно делать по недельному или ежемесячному расписанию.
  • create — создает файл логов, в котором владелец и группа являются пользователем root

Итоги

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

Мини — курс по виртуализации

Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена

Источник

Оцените статью