Журналы сетевых подключений Linux

Обновлено: 22.11.2024

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

  • Поделиться на Facebook
  • Поделиться в Твиттере
  • Поделиться в LinkedIn
  • Отправить письмо

Что такое файлы журналов Linux

Файлы журналов — это набор записей, которые Linux ведет для администраторов, чтобы отслеживать важные события. Они содержат сообщения о сервере, включая ядро, службы и приложения, работающие на нем.

Linux предоставляет централизованное хранилище файлов журналов, которое может находиться в каталоге /var/log.

Файлы журналов, созданные в среде Linux, обычно можно разделить на четыре категории:

  • Журналы приложений
  • Журналы событий
  • Сервисные журналы
  • Системные журналы

Зачем отслеживать файлы журналов Linux

Управление журналом является неотъемлемой частью ответственности любого администратора сервера.

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

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

Какие файлы журналов Linux отслеживать

Отслеживать и анализировать их все может быть сложной задачей.

Из-за огромного объема журналов иногда бывает сложно просто развернуть и найти нужный файл, содержащий нужную информацию.

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

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

/var/log/сообщения

Что здесь регистрируется?:

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

Как я могу использовать эти журналы?:

  • Здесь вы можете отслеживать ошибки загрузки, не связанные с ядром, ошибки службы, связанные с приложениями, и сообщения, регистрируемые при запуске системы.
  • Это первый файл журнала, который администраторы Linux должны проверить, если что-то пойдет не так.
  • Например, у вас возникли проблемы со звуковой картой. Чтобы проверить, не пошло ли что-то не так во время запуска системы, вы можете просмотреть сообщения, хранящиеся в этом файле журнала.

/var/log/auth.log

Что здесь регистрируется?

  • Здесь регистрируются все события, связанные с аутентификацией на серверах Debian и Ubuntu.
  • Если вы ищете информацию, связанную с механизмом авторизации пользователей, вы можете найти ее в этом файле журнала.

Как я могу использовать эти журналы?:

Подозреваете, что на вашем сервере могла быть брешь в системе безопасности? Заметили подозрительный файл javascript там, где его быть не должно? Если да, то найдите этот файл журнала как можно скорее!

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

/var/log/secure

Что здесь регистрируется?

Системы на базе RedHat и CentOS используют этот файл журнала вместо /var/log/auth.log.

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

Как я могу использовать эти журналы?:

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

/var/log/boot.log

Что здесь регистрируется?

  • Сценарий инициализации системы /etc/init.d/bootmisc.sh отправляет все сообщения о загрузке в этот файл журнала.
  • Это хранилище информации, связанной с загрузкой, и сообщений, зарегистрированных во время процесса запуска системы.

Как я могу использовать эти журналы?:

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

/var/log/dmesg

Что здесь регистрируется?

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

Как я могу использовать эти журналы?:

  • Этот файл журнала в основном полезен для пользователей выделенных серверов.
  • Если определенное оборудование работает неправильно или не обнаруживается, вы можете использовать этот файл журнала для устранения неполадок.
  • Или вы можете приобрести у нас управляемый сервер, и мы будем отслеживать его для вас.

/var/log/kern.log

Что здесь регистрируется?

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

Как я могу использовать эти журналы?:

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

/var/log/сбой

Что здесь регистрируется?

Этот файл содержит информацию о неудачных попытках входа в систему.

Как я могу использовать эти журналы?:

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

/var/log/cron

Что здесь регистрируется?

В этот файл журнала записывается информация о заданиях cron.

Как я могу использовать эти журналы

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

/var/log/yum.log

Что здесь регистрируется?

Он содержит информацию, которая регистрируется при установке нового пакета с помощью команды yum.

Как я могу использовать эти журналы?:

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

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

/var/log/maillog или /var/log/mail.log

Что здесь регистрируется?

Здесь хранятся все журналы, связанные с почтовым сервером.

Как я могу использовать эти журналы?

  • Найдите информацию о postfix, smtpd, MailScanner, SpamAssassain или любых других службах, связанных с электронной почтой, работающих на почтовом сервере.
  • Отслеживайте все электронные письма, которые были отправлены или получены за определенный период.
  • Исследуйте проблемы с доставкой почты.
  • Получить информацию о возможных попытках рассылки спама, заблокированных почтовым сервером.
  • Отследите источник входящего сообщения электронной почты, изучив этот файл журнала.

Что здесь регистрируется?

  • Этот каталог содержит журналы, записанные сервером Apache.
  • Информация журнала сервера Apache хранится в двух разных файлах журнала — error_log и access_log.

Как я могу использовать эти журналы?:

/var/log/mysqld.log или /var/log/mysql.log

Что здесь регистрируется?

  • Как следует из названия, это файл журнала MySQL.
  • Все сообщения об отладке, ошибках и успехах, связанные с демоном [mysqld] и [mysqld_safe], регистрируются в этом файле.
  • RedHat, CentOS и Fedora хранят журналы MySQL в каталоге /var/log/mysqld.log, а Debian и Ubuntu хранят журналы в каталоге /var/log/mysql.log.

Как я могу использовать этот журнал?

  • Используйте этот журнал для выявления проблем при запуске, работе или остановке mysqld.
  • Получить информацию о клиентских подключениях к каталогу данных MySQL
  • Вы также можете настроить параметр long_query_time для регистрации информации о блокировках запросов и медленных запросах.

Заключительный вывод

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

Некоторые из наших клиентов используют Nagios Log Server для управления журналами своих серверов. Есть много вариантов с открытым исходным кодом, если это выходит за рамки бюджета. Излишне говорить, что отслеживать журналы Linux вручную сложно.

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

Нишан Джумун (CC0)

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

Ротация файлов журнала

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

Чтобы понять, какие типы системной информации сохраняются, просто перейдите в каталог /var/log и просмотрите его содержимое.

Это довольно большая коллекция журналов и каталогов журналов — в данном случае 69 файлов и каталогов в /var/log, но 180 файлов, если включить файлы в эти каталоги.

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

Файлы системного журнала содержат сообщения от множества различных системных служб — cron, sendmail и само ядро ​​— это только примеры. Вы также увидите свидетельства пользовательских сеансов и cron (запланированные задачи).

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

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

Точно так же вы можете ничего не увидеть при запуске команды tail faillog, но такая команда покажет вам, что она просто заполнена нулями:

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

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

  • alternatives.log – предложения "выполнить с" из обновлений-альтернатив
  • apport.log – информация о перехваченных сбоях
  • auth.log — пользовательские логины и используемые механизмы аутентификации
  • boot.log -- сообщения о времени загрузки
  • btmp — неудачные попытки входа
  • dpkg.log — информация о том, когда пакеты были установлены или удалены
  • lastlog -- последние входы в систему (используйте команду lastlog для просмотра
  • faillog -- информация о неудачных попытках входа -- все нули, если ничего не произошло (используйте команду faillog для просмотра)
  • kern.log -- сообщения журнала ядра
  • mail.err -- информация об ошибках, обнаруженных почтовым сервером
  • mail.log -- информация с почтового сервера
  • syslog -- журнал системных служб
  • ufw — журнал брандмауэра
  • wtmp — записи для входа

журналctl

Помимо файлов журналов, хранящихся в /var/log, есть также журнал systemd. Хотя это и не простой «лог-файл» в обычном понимании одного лог-файла, этот журнал представляет собой важную коллекцию информации о действиях пользователя и ядра. Информация извлекается из различных источников в системе.

Чтобы просмотреть собранную информацию, используйте команду journalctl.

Объем информации, которую вы увидите, зависит от того, являетесь ли вы участником группы adm или нет. Пользователи, не являющиеся администраторами, увидят относительно мало информации, но члены группы администраторов будут иметь доступ к огромному объему данных — как показано в этом примере, который просто показывает нам, сколько строк информации доступно для этого члена группы администраторов. обзор:

Это более 666 000 строк текста! Чтобы сократить это до, надеюсь, более удобоваримого отображения, вы, вероятно, захотите использовать аргументы, которые адаптируют то, что вы увидите на дисплее. Некоторые из параметров, доступных с journalctl, включают:

Вот пример:

Вы также можете просмотреть записи журнала только для определенной службы. Вероятно, это одна из наиболее полезных вещей, которые может сделать для вас команда journalctl:

Обратите внимание, как в этом выводе отображаются перезагрузки системы.

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

На изображении выше:

Вот полезная команда для получения быстрого отчета об использовании дискового пространства:

Если вы хотите сосредоточиться на конкретном процессе, вы можете сделать это, указав PID (усеченный), как в примере ниже.

ПРИМЕЧАНИЕ. Файл конфигурации журнала systemd — /etc/systemd/journald.conf.

Подведение итогов

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

Присоединяйтесь к сообществам Network World на Facebook и LinkedIn, чтобы комментировать самые важные темы.

Сандра Генри-Стокер занимается администрированием систем Unix более 30 лет. Она описывает себя как «USL» (Unix как второй язык), но помнит достаточно английского, чтобы писать книги и покупать продукты. Она живет в горах в Вирджинии, где, когда не работает с Unix и не пишет о ней, отгоняет медведей от своих кормушек для птиц.

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

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

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

Некоторые из наиболее важных системных журналов Linux включают:

  • /var/log/syslog и /var/log/messages хранят все глобальные данные об активности системы, включая сообщения о запуске. Системы на основе Debian, такие как Ubuntu, хранят это в /var/log/syslog , а системы на основе Red Hat, такие как RHEL или CentOS, используют /var/log/messages .
  • /var/log/auth.log и /var/log/secure хранят все события, связанные с безопасностью, такие как вход в систему, действия пользователя root и выходные данные подключаемых модулей аутентификации (PAM). Ubuntu и Debian используют /var/log/auth.log , а Red Hat и CentOS используют /var/log/secure .
  • В файле /var/log/kern.log хранятся журналы событий ядра, ошибок и предупреждений, которые особенно полезны для устранения неполадок с пользовательскими ядрами.
  • /var/log/cron хранит информацию о запланированных задачах (заданиях cron). Используйте эти данные, чтобы убедиться, что ваши задания cron выполняются успешно.

Некоторые приложения также записывают файлы журналов в этот каталог.Например, веб-сервер Apache записывает журналы в каталог /var/log/apache2 (в Debian), а MySQL записывает журналы в каталог /var/log/mysql. Некоторые приложения также регистрируются через системный журнал, что мы объясним в следующем разделе.
[button url="syslog"]системный журнал[/button]

Что такое системный журнал?

Syslog – это стандарт для создания и передачи журналов. Слово «системный журнал» может относиться к любому из следующего.

  1. Служба системного журнала, которая получает и обрабатывает сообщения системного журнала. Он прослушивает события, создавая сокет, расположенный в /dev/log, в который приложения могут записывать. Он может записывать сообщения в локальный файл или пересылать сообщения на удаленный сервер. Существуют различные реализации системного журнала, включая rsyslogd и syslog-ng.
  2. Протокол системного журнала (RFC 5424) — транспортный протокол, определяющий способ передачи журналов по сети. Это также формат данных, определяющий структуру сообщений. По умолчанию он использует порт 514 для сообщений с открытым текстом и порт 6514 для зашифрованных сообщений.
  3. Сообщение системного журнала, представляющее собой любой журнал, отформатированный в формате сообщения системного журнала. Сообщение системного журнала состоит из стандартизированного заголовка и сообщения, содержащего содержимое журнала.

Поскольку системный журнал может пересылать сообщения на удаленные серверы, он часто используется для пересылки системных журналов в решения для управления журналами, такие как SolarWinds® Loggly® и SolarWinds Papertrail™.

Формат и поля системного журнала

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

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

Вы также можете добавить дополнительные поля в сообщения системного журнала. Повторим последнее событие после добавления нескольких новых полей. Мы будем использовать следующий шаблон rsyslog, который добавляет приоритет ( ), версию протокола ( %protocol-version% ) и дату в формате RFC 3339 ( %timestamp. date-rfc3339% ):

При этом создается следующий журнал:

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

Поле метки времени указывает время и дату, когда сообщение было сгенерировано системой, отправившей сообщение. Отметка времени в примере разбита следующим образом:

  • "2019-06-05" – это год, месяц и день.
  • «T» – обязательный элемент поля метки времени, разделяющий дату и время.
  • "22:14:15.003" – это 24-часовой формат времени, включая количество миллисекунд (003).
  • «Z» указывает время UTC. Вместо z в примере можно было бы указать смещение, например -08:00, которое означает, что время смещено от UTC на восемь часов.

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

Поле имени приложения (в примере это "sshd:auth") указывает имя приложения, отправившего сообщение.

Поле приоритета или сокращенно pri (" " в приведенном выше примере) указывает, насколько срочным или серьезным является событие. Это комбинация двух числовых полей: удобства и серьезности. Средство указывает тип процесса, создавшего событие, в диапазоне от 0 для сообщений ядра до 23 для локальных приложений. Серьезность находится в диапазоне от 0 до 7, где 0 указывает на экстренную ситуацию, а 7 – на отладочное событие.

Pri можно вывести двумя способами. Первый представляет собой одно число, prival, которое рассчитывается как значение поля средства, умноженное на восемь, затем результат добавляется к значению поля серьезности: (средство)(8) + (серьезность). Второй — pri-text, который будет выводиться в строковом формате «facility.severity». Последний формат зачастую проще для чтения и поиска, но занимает больше места для хранения.

Ведение журнала с помощью Systemd

Многие дистрибутивы Linux поставляются с systemd, который является менеджером процессов и служб. Systemd реализует собственную службу ведения журналов под названием journald, которая может заменить или дополнить syslog. Journald ведет журнал значительно иначе, чем systemd, поэтому для него есть отдельный раздел в Ultimate Guide to Logging. Вы можете узнать больше о ведении журнала через systemd в разделе «Ведение журнала Systemd».

Увеличение уровня ведения журнала для всех или определенных доменов помогает регистрировать более подробные сведения об операциях, выполняемых NetworkManager. Администраторы могут использовать эту информацию для устранения неполадок. NetworkManager предоставляет различные уровни и домены для создания журнальной информации. Файл /etc/NetworkManager/NetworkManager.conf является основным файлом конфигурации для NetworkManager.Журналы хранятся в журнале.

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

47.1. Уровни и домены отладки

Вы можете использовать параметры уровней и доменов для управления отладкой для NetworkManager. Уровень определяет уровень детализации, тогда как домены определяют категорию сообщений для записи журналов с заданной серьезностью (уровень).

Не регистрирует никаких сообщений о NetworkManager

Регистрирует только критические ошибки

Записывает в журнал предупреждения, которые могут отражать операцию

Записывает в журнал различные информационные сообщения, полезные для отслеживания состояния и операций

Включает подробное ведение журнала в целях отладки

Включает более подробное ведение журнала, чем уровень DEBUG

Обратите внимание, что последующие уровни регистрируют все сообщения предыдущих уровней. Например, при установке уровня журнала INFO также регистрируются сообщения, содержащиеся на уровне журнала ERR и WARN.

Дополнительные ресурсы

47.2. Настройка уровня журнала NetworkManager

По умолчанию все домены журнала настроены на запись уровня журнала INFO. Отключите ограничение скорости перед сбором журналов отладки. С ограничением скорости systemd-journald отбрасывает сообщения, если их слишком много за короткое время. Это может произойти, если уровень журнала TRACE .

Эта процедура отключает ограничение скорости и включает запись журналов отладки для всех (ВСЕХ) доменов.

Процедура

Чтобы отключить ограничение скорости, отредактируйте файл /etc/systemd/journald.conf, раскомментируйте параметр RateLimitBurst в разделе [Journal] и установите для него значение 0 :

Перезапустите службу systemd-journald.

Создайте файл /etc/NetworkManager/conf.d/95-nm-debug.conf со следующим содержимым:

Параметр domains может содержать несколько пар домен:уровень, разделенных запятыми.

Перезапустите службу NetworkManager.

47.3. Временная установка уровней ведения журнала во время выполнения с помощью nmcli

Вы можете изменить уровень журнала во время выполнения с помощью nmcli . Однако Red Hat рекомендует включить отладку с помощью файлов конфигурации и перезапустить NetworkManager. Обновление уровней отладки и доменов с помощью файла .conf помогает устранять проблемы с загрузкой и фиксирует все журналы из исходного состояния.

Процедура

Необязательно: отобразите текущие настройки ведения журнала:

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

Чтобы установить одинаковый уровень ведения журнала для всех доменов, введите:

Чтобы изменить уровень для определенных доменов, введите:

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

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

Читайте также: