Linux mint логи загрузки

Работа с логами в Linux. Команда Journalctl

Systemd – наиболее совершенный менеджер системы и служб для Linux. Это замена демона init с возможностью параллельного запуска процессов при загрузке системы. В данный момент он поддерживается большинством распространенных дистрибутивов, в том числе Fedora, Debian, Ubuntu, OpenSuSE, Arch, RHEL, CentOS и другими.
Одно из главных преимуществ systemd над другими распространенными системами инициализации является поддержка централизованного управления ведения логов системы и процессов при помощи журнала. В данном руководстве мы научимся работать с логами в systemd при помощи команды journalctl.

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

Настройка Journald для сбора записей логов

journald – это программа, собирающая и записывающая сообщения логов по всей системе. Это данные о загрузке, сообщения от ядра, syslog или различных приложений. Все эти сообщения хранятся в централизованном месторасположении – файле журнала.

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

Читайте также:  Save with vi linux

Хранение журнала на диске

В некоторых дистрибутивах Linux, в том числе Ubuntu и ее производных, таких как Linux Mint, постоянное хранение сообщений о загрузке на диске по умолчанию отключено. Это можно изменить, установив параметру «Storage» значение «persistent», как показано ниже. Будет создана директория /var/log/journal , и все файлы журнала будут храниться в ней. Откройте файл на редактирование

$ sudo vi /etc/systemd/journald.conf

И замените #Storage=auto на.

[Journal]
Storage=persistent

Значение остальных опций в разделе «[Journal]» можно узнать на соответствующей man-странице:

Установка корректного системного времени

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

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

$ sudo timedatectl set-timezone ЧАСОВОЙ_ПОЯС $ sudo timedatectl set-time “ЧЧ:ММ:СС”

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

journalctl – это утилита для просмотра содержимого журнала systemd, который ведется службой journald. Для отображения всех собранных логов без какой-либо фильтрации просто выполните команду без опций:

Результат будет иметь приблизительно следующий вид:

Просмотр записей журнала по загрузкам

Список загрузок (относительно текущей), их идентификаторы, а также временные метки первого и последнего сообщений, соответствующих загрузке, можно получить при помощи опции —list-boots.

Чтобы просмотреть записи журнала текущей загрузку (номер 0), воспользуйтесь опцией –b:

Для просмотра журнала, начиная с предыдущей загрузки, укажите после опции –b относительный указатель -1, как показано ниже:

Также можно использовать идентификатор загрузки:

$ journalctl -b 9fb590b48e1242f58c2579defdbbddc9

Фильтрация записей журнала по времени

Для использования времени в формате UTC укажите опцию –-utc:

Чтобы просмотреть все записи, начиная с конкретной даты и времени, например, 8:15 утра 15 февраля 2019, выполните команду:

$ journalctl --since "2019-02-15 08:15:00"

Аналогичным образом можно указать начальную дату today (сегодня) или yesterday (вчера):

$ journalctl --since today $ journalctl --since yesterday

Просмотр последних записей журнала

Для просмотра последних записей журнала (по умолчанию 10) используется опция –n.

Читайте также:  Linux openvpn конфигурация клиента

После нее можно указать необходимое количество записей:

Просмотр записей журнала, созданных ядром

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

$ journalctl -k $ journalctl -k -b $ journalctl -k -b 9fb590b48e1242f58c2579defdbbddc9

Просмотр записей конкретных сервисов

Для просмотра записей журнала конкретной службы используется опция –u, после которой нужно указать эту службу:

$ journalctl -u apache2.service

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

$ journalctl -b -u apache2.service

Показать записи, начиная с предыдущей загрузки:

$ journalctl -b -1 -u apache2.service

Можно указать несколько сервисов и сочетать фильтрацию по сервису и по времени:

$ journalctl -u apache2.service $ journalctl -u apache2.service --since today $ journalctl -u apache2.service -u nagios.service --since yesterday

Просмотр записей по идентификатору процесса

Логи, созданные заданным процессом, можно просмотреть, указав его идентификатор (PID):

$ journalctl _PID=19487 $ journalctl _PID=19487 --since today $ journalctl _PID=19487 --since yesterday

Просмотр записей конкретного пользователя или группы

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

$ journalctl _UID=1000 $ journalctl _UID=1000 --since today $ journalctl _UID=1000 -b -1 --since today

Просмотр записей, созданных файлом

Чтобы показать все записи, созданные определенным файлом (например, исполняемым), просто введите после команды его имя:

$ journalctl /usr/bin/dbus-daemon $ journalctl /usr/bin/bash

Просмотр записей по приоритету

Результаты можно также фильтровать по приоритету при помощи флага «–p», после которого можно указать приоритет. Вот возможные значения приоритета:

0, emerg – система не работоспособна
1, alert – система требует немедленного вмешательства
2, crit – состояние системы критическое
3, err – сообщение об ошибке
4, warning – предупреждение о возможной проблеме
5, notice – нормальное, но важное событие
6, info – информационное сообщение
7, debug – отладочное сообщение

Для вывода всех сообщений об ошибках выполните команду

Читайте также:  Linux информация жестких дисков

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

Цифровые значения и ключевые слова равнозначны:

$ journalctl -p emerg..warning

Просмотр записей в реальном времени

Опция «-f» позволяет вам следить за журналом в процессе его написания:

Проверка целостности

Для проверки внутренней целостности журналов используется опция —verify. Если все хорошо, результатом будет PASS.

Удаление старых записей журнала

Опция «—disk-usage» показывает общий объем дискового пространства, занимаемого активными и архивированными файлами журнала.
$ journalctl —disk-usage

Для удаления старых (архивированных) файлов воспользуйтесь командами ниже.
Удалять файлы, пока используемое ими дисковое пространство не сократится до указанного размера:

$ sudo journalctl --vacuum-size=50M

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

$ sudo journalctl --vacuum-time=1years

Удалять файлы, пока их количество не станет равно заданному:

$ sudo journalctl --vacuum-files=4

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

При помощи опции —rotate можно задать journald выполнение ротации файлов журнала. До завершения процесса ротации команда не возвращает никакого результата:

Для более подробного руководства и информации об опциях обратитесь к man-странице команды:

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Похожие записи:

Источник

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