Поиск по сайту:

Как фильтровать журналы systemd с помощью Journalctl с примерами |


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

Службы используют 3 метода записи журналов. Есть:

  • Прямая запись. Службы записывают информацию непосредственно в файлы журналов. К ним относятся Apache, Samba и т. д.
  • rsyslogd – можно охарактеризовать как расширение syslogd. Syslogd — это традиционный менеджер демонов Linux, устанавливаемый из пакета sysklogd. С некоторыми улучшениями был введен rsyslogd для управления централизованными журналами.
  • журнал – он появился вместе с появлением систем. Этот сервис интегрирован с системами и позволяет системным администраторам получать подробную информацию из журнала при управлении сервисами с помощью команды systemctl status.

Понимание systemd Journald

Демон systemd-journald собирает и хранит информацию журнала, поступающую из нескольких источников. Эти записи журнала обычно собираются из сообщений сервера, сообщений ядра и программных сообщений пользовательского режима. Он хранил записи журнала независимо от их метаданных, размера или формата. Журнал событий затем сохраняется в двоичном формате, и доступ к нему можно получить с помощью команды journalctl. Двоичные файлы хранятся в папке /run/log/journal или /var/log/journal.

В этом руководстве представлена подробная иллюстрация того, как фильтровать журналы systemd с помощью journalctl, с примерами.

Настройка журналаctl

Journalctl можно настроить для предоставления вам желаемого сервиса. Возможные конфигурации описаны ниже.

Разрешения

Journalctl позволяет просматривать журналы от имени пользователя root. Чтобы видеть сообщения других пользователей и выполнять операции с журналами в качестве обычного пользователя, вам необходимо добавить своего пользователя в группу systemd-journal.

Используемая команда:

sudo usermod -aG systemd-journal $USER

Сохраняющиеся журналы в Systemd Journald

Журналы обычно хранятся по постоянному пути /var/log/journal. Если путь указан, журналы сохранятся после перезагрузки системы. В противном случае вы можете создать путь и включить постоянный журнал с помощью команд:

sudo mkdir -p /var/log/journal
sudo chown root:systemd-journal /var/log/journal
sudo chmod 2755 /var/log/journal
sudo killall -USR1 systemd-journald

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

$ sudo yum -y install tree
$ tree /var/log/journal
/var/log/journal
└── 9f4f62f8fec1487b98405a80137dfcef
    └── system.journal

1 directory, 1 file

Другой способ включить постоянное ведение журнала — отредактировать файл конфигурации и указать путь к хранилищу:

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

$ cat /etc/systemd/journald.conf | grep Storage
#Storage=auto

Измените это значение на постоянное, как показано ниже.

$ sudo vi /etc/systemd/journald.conf
[Journal]
Storage=persistent

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

sudo systemctl restart systemd-journald.service

Как использовать Journalctl с Systemd в Linux

Теперь, имея нужные конфигурации, вы можете использовать Journalctl для просмотра и фильтрации журналов systemd.

1. Основное использование

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

journalctl

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

2. Просмотр журналов журнала времени выполнения.

Как и Tail -f, вы можете просматривать журналы в режиме реального времени с помощью Journalctl. Команда позволяет просматривать новые сообщения systemd-journald в режиме реального времени. Используемая команда:

journalctl -f

Чтобы прервать выполнение команды, используйте Ctrl+C.

3. Показать сообщения, связанные с загрузкой

С помощью Journalctl вы можете просматривать сообщения, связанные с загрузкой. Для просмотра сообщений текущей загрузки используйте:

journalctl -b

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

$ journalctl --list-boots
 0 8ce572d58a6247a9b9cf57c4efd67624 Fri 2022-04-15 09:27:55 EDT—Fri 2022-04-15 >

После внесения в список просмотрите подробную информацию о загрузке. В качестве руководства мы будем просматривать логи со смещением 0:

$ journalctl -b 0
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:33:32 EDT. --
Apr 15 09:27:55 localhost.localdomain kernel: Linux version 4.18.0-348.20.1.el8_5.x86_64 ([email ) (gcc version >
Apr 15 09:27:55 localhost.localdomain kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-348.20.1.el8_5.x86_64 root=/dev/mapper/a>
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'compacted' format.
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-provided physical RAM map:
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000100000-0x000000007ffdbfff] usable
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x000000007ffdc000-0x000000007fffffff] reserved
.....

4. Фильтрация журналов systemd по временной метке.

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

$ journalctl --since today
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:33:32 EDT. --
Apr 15 09:27:55 localhost.localdomain kernel: Linux version 4.18.0-348.20.1.el8_5.x86_64 ([email ) (gcc version >
Apr 15 09:27:55 localhost.localdomain kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-348.20.1.el8_5.x86_64 root=/dev/mapper/a>
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'compacted' format.
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-provided physical RAM map:

Вы также можете проверить предыдущие журналы:

$ journalctl --since "2022-04-14 01:00:00"
-- Logs begin at Fri 2022-04-15 09:31:33 EDT, end at Fri 2022-04-15 09:31:33 EDT. --
Apr 15 09:31:33 localhost.localdomain systemd[2183]: Starting Mark boot as successful...
Apr 15 09:31:33 localhost.localdomain systemd[2183]: Started Mark boot as successful.

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

journalctl --since "2022-04-14 01:00:00" --until "2022-04-15 11:00:00"

Посмотреть логи за вчерашний день:

journalctl --since yesterday --until now

5. Фильтрация сообщений на основе файла объекта.

Флаг -u используется для указания службы, которую вы ищете. Например, проверка логов службы SSHD:

$ journalctl -u sshd.service
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:37:54 EDT. --
Apr 15 09:28:01 localhost.localdomain systemd[1]: Starting OpenSSH server daemon...
Apr 15 09:28:01 localhost.localdomain sshd[1044]: Server listening on 0.0.0.0 port 22.
Apr 15 09:28:01 localhost.localdomain sshd[1044]: Server listening on :: port 22.
Apr 15 09:28:01 localhost.localdomain systemd[1]: Started OpenSSH server daemon.
Apr 15 09:28:52 localhost.localdomain sshd[2177]: Accepted password for alma from 192.168.232.3 port 43500 ssh2
Apr 15 09:28:52 localhost.localdomain sshd[2177]: pam_unix(sshd:session): session opened for user alma by (uid=0)

Вы также можете указать службу, используя аргумент _SYSTEMD_UNIT.

$ journalctl _SYSTEMD_UNIT=sshd.service
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:37:54 EDT. --
Apr 15 09:28:01 localhost.localdomain sshd[1044]: Server listening on 0.0.0.0 port 22.
Apr 15 09:28:01 localhost.localdomain sshd[1044]: Server listening on :: port 22.
Apr 15 09:28:52 localhost.localdomain sshd[2177]: Accepted password for alma from 192.168.232.3 port 43500 ssh2
Apr 15 09:28:52 localhost.localdomain sshd[2177]: pam_unix(sshd:session): session opened for user alma by (uid=0)

6. Фильтрация журналов на основе двоичного файла.

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

$ journalctl /sbin/sshd
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:37:54 EDT. --
Apr 15 09:28:01 localhost.localdomain sshd[1044]: Server listening on 0.0.0.0 port 22.
Apr 15 09:28:01 localhost.localdomain sshd[1044]: Server listening on :: port 22.
Apr 15 09:28:52 localhost.localdomain sshd[2177]: Accepted password for alma from 192.168.232.3 port 43500 ssh2
Apr 15 09:28:52 localhost.localdomain sshd[2177]: pam_unix(sshd:session): session opened for user alma by (uid=0)

7. Просмотр дополнительных сведений журнала.

Подробные сообщения с пояснениями можно просмотреть, добавив -x , чтобы помочь вам понять журналы. Например, подробное сообщение для службы SSHD можно просмотреть ниже;

$ journalctl -u sshd.service -x
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:37:54 EDT. --
Apr 15 09:28:01 localhost.localdomain systemd[1]: Starting OpenSSH server daemon...
-- Subject: Unit sshd.service has begun start-up
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
-- 
-- Unit sshd.service has begun starting up.
Apr 15 09:28:01 localhost.localdomain sshd[1044]: Server listening on 0.0.0.0 port 22.
Apr 15 09:28:01 localhost.localdomain sshd[1044]: Server listening on :: port 22.
Apr 15 09:28:01 localhost.localdomain systemd[1]: Started OpenSSH server daemon.
-- Subject: Unit sshd.service has finished start-up
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
-- 
-- Unit sshd.service has finished starting up.
-- 
-- The start-up result is done.
Apr 15 09:28:52 localhost.localdomain sshd[2177]: Accepted password for alma from 192.168.232.3 port 43500 ssh2
Apr 15 09:28:52 localhost.localdomain sshd[2177]: pam_unix(sshd:session): session opened for user alma by (uid=0)

8. Фильтрация журналов с помощью PID процесса | Идентификатор пользователей или группы

Вы также можете фильтровать журналы для просмотра на основе PID процесса. Например;

$ journalctl _PID=1044
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:39:49 EDT. --
Apr 15 09:28:01 localhost.localdomain sshd[1044]: Server listening on 0.0.0.0 port 22.
Apr 15 09:28:01 localhost.localdomain sshd[1044]: Server listening on :: port 22.

Чтобы отфильтровать журналы по пользователю, начните с определения идентификатора пользователя, как показано ниже. Скажем для пользователя Thor.

$ id alma
uid=1000(alma) gid=1000(alma) groups=1000(alma),190(systemd-journal)

Теперь вы можете фильтровать журналы по идентификатору пользователя.

$ journalctl _UID=1000
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:39:49 EDT. --
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Reached target Paths.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Listening on Multimedia System.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Listening on Sound System.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Starting D-Bus User Message Bus Socket.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Started Mark boot as successful after the user session has run 2 minutes.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Reached target Timers.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Listening on D-Bus User Message Bus Socket.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Reached target Sockets.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Reached target Basic System.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Starting Sound Service...
Apr 15 09:28:53 localhost.localdomain systemd[2183]: Started D-Bus User Message Bus.
Apr 15 09:28:53 localhost.localdomain systemd[2183]: Started Sound Service.
Apr 15 09:28:53 localhost.localdomain systemd[2183]: Reached target Default.
Apr 15 09:28:53 localhost.localdomain systemd[2183]: Startup finished in 652ms.
...

Вы также можете просмотреть логи текущего пользователя с помощью команды

$ journalctl _UID=$(id -u)
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:39:49 EDT. --
Apr 15 09:27:55 localhost.localdomain systemd-journald[311]: Journal started
Apr 15 09:27:55 localhost.localdomain systemd-journald[311]: Runtime journal (/run/log/journal/9f4f62f8fec1487b98405a80137dfcef) is 8.0M, m>
Apr 15 09:27:55 localhost.localdomain systemd-modules-load[307]: Inserted module 'fuse'
Apr 15 09:27:55 localhost.localdomain systemd-modules-load[307]: Module 'msr' is builtin
Apr 15 09:27:55 localhost.localdomain rngd[310]: Initializing available sources
Apr 15 09:27:55 localhost.localdomain rngd[310]: [hwrng ]: Initialization Failed
Apr 15 09:27:55 localhost.localdomain rngd[310]: [rdrand]: Enabling RDSEED rng support
Apr 15 09:27:55 localhost.localdomain rngd[310]: [rdrand]: Initialized
Apr 15 09:27:55 localhost.localdomain rngd[310]: [jitter]: Initializing AES buffer
Apr 15 09:27:56 localhost.localdomain systemd[1]: systemd-vconsole-setup.service: Succeeded.
Apr 15 09:27:56 localhost.localdomain systemd[1]: Started Setup Virtual Console.
Apr 15 09:27:56 localhost.localdomain systemd[1]: Starting dracut cmdline hook...
Apr 15 09:27:56 localhost.localdomain dracut-cmdline[337]: dracut-8.5 (Arctic Sphynx) dracut-049-191.git20210920.el8
Apr 15 09:27:56 localhost.localdomain dracut-cmdline[337]: Using kernel command line parameters: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-348>
Apr 15 09:27:56 localhost.localdomain systemd[1]: Started dracut cmdline hook.

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

$ journalctl _GID=1000
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:39:49 EDT. --
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Reached target Paths.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Listening on Multimedia System.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Listening on Sound System.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Starting D-Bus User Message Bus Socket.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Started Mark boot as successful after the user session has run 2 minutes.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Reached target Timers.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Listening on D-Bus User Message Bus Socket.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Reached target Sockets.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Reached target Basic System.
Apr 15 09:28:52 localhost.localdomain systemd[2183]: Starting Sound Service...

9. Фильтрация журналов по приоритету

При фильтрации журналов на основе соответствия используется флаг -p. Этот флаг также принимает имя приоритета или его числовое значение, например:

  • 0 – аварийный
  • 1- оповещение
  • 2 – крит.
  • 3 – ошибка
  • 4 – предупреждение
  • 5 – уведомление
  • 6 – информация
  • 7 – отладка

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

$ journalctl -p 7
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:39:49 EDT. --
Apr 15 09:27:55 localhost.localdomain kernel: Linux version 4.18.0-348.20.1.el8_5.x86_64 ([email ) (gcc version >
Apr 15 09:27:55 localhost.localdomain kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-348.20.1.el8_5.x86_64 root=/dev/mapper/a>
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'compacted' format.
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-provided physical RAM map:
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000100000-0x000000007ffdbfff] usable
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x000000007ffdc000-0x000000007fffffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000b0000000-0x00000000bfffffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
....

Вы также можете просмотреть журналы для диапазона, например, emerg(0) и Critical(2):

$ journalctl -p 0..2
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:43:15 EDT. --
Apr 15 09:28:00 localhost.localdomain smartd[887]: In the system's table of devices NO devices found to scan

10. Фильтрация сообщений ядра

Сообщения ядра можно просмотреть, как показано ниже:

$ journalctl -k
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:43:15 EDT. --
Apr 15 09:27:55 localhost.localdomain kernel: Linux version 4.18.0-348.20.1.el8_5.x86_64 ([email ) (gcc version >
Apr 15 09:27:55 localhost.localdomain kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-348.20.1.el8_5.x86_64 root=/dev/mapper/a>
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'compacted' format.
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-provided physical RAM map:
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000100000-0x000000007ffdbfff] usable
.....

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

$ journalctl _TRANSPORT=kernel
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:43:15 EDT. --
Apr 15 09:27:55 localhost.localdomain kernel: Linux version 4.18.0-348.20.1.el8_5.x86_64 ([email ) (gcc version >
Apr 15 09:27:55 localhost.localdomain kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-348.20.1.el8_5.x86_64 root=/dev/mapper/a>
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
Apr 15 09:27:55 localhost.localdomain kernel: x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'compacted' format.
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-provided physical RAM map:
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x0000000000100000-0x000000007ffdbfff] usable
Apr 15 09:27:55 localhost.localdomain kernel: BIOS-e820: [mem 0x000000007ffdc000-0x000000007fffffff] reserved
........

11. Проверьте использование диска и памяти по журналам журнала и выполните очистку.

Если вы настроили постоянное ведение журнала, объем используемого диска может быть показан ниже:

$ journalctl --disk-usage
Archived and active journals take up 206.0M in the file system.

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

Диск можно очистить с помощью команды --vaccum-size. Например, если уменьшить размер файла журнала до 200 МБ, команда будет такой:

$ journalctl --vacuum-size=200M
Deleted archived journal /run/log/journal/9bf0fc6f60ce41149a0a540f52db9773/system@822262d9c350464d9b67a3fd4fa4b8d8-00000000003bf4d9-000591cb0a1ae4c4.journal (6.0M).
Vacuuming done, freed 6.0M of archived journals on disk.

Проверьте, были ли внесены изменения:

$ journalctl --disk-usage
Archived and active journals take up 200.0M on disk.

12. Просмотр журналов в подробном режиме

Systemd можно просмотреть в подробном режиме с помощью команды:

$ journalctl -o verbose
-- Logs begin at Fri 2022-04-15 09:27:55 EDT, end at Fri 2022-04-15 09:43:15 EDT. --
Fri 2022-04-15 09:27:55.664729 EDT [s=b7740adaec2e45a7ae7671427226140e;i=1;b=8ce572d58a6247a9b9cf57c4efd67624;m=105783;t=5dcb160d85159;x=6f>
    _SOURCE_MONOTONIC_TIMESTAMP=0
    _TRANSPORT=kernel
    PRIORITY=5
    SYSLOG_FACILITY=0
    SYSLOG_IDENTIFIER=kernel
    MESSAGE=Linux version 4.18.0-348.20.1.el8_5.x86_64 ([email ) (gcc version 8.5.0 20210514 (Red Hat 8.5.0-4) (>
    _BOOT_ID=8ce572d58a6247a9b9cf57c4efd67624
    _MACHINE_ID=9f4f62f8fec1487b98405a80137dfcef
    _HOSTNAME=localhost.localdomain
Fri 2022-04-15 09:27:55.667768 EDT [s=b7740adaec2e45a7ae7671427226140e;i=2;b=8ce572d58a6247a9b9cf57c4efd67624;m=106362;t=5dcb160d85d38;x=50>
    _SOURCE_MONOTONIC_TIMESTAMP=0
    _TRANSPORT=kernel
    SYSLOG_FACILITY=0
    SYSLOG_IDENTIFIER=kernel
    _BOOT_ID=8ce572d58a6247a9b9cf57c4efd67624
    _MACHINE_ID=9f4f62f8fec1487b98405a80137dfcef
    _HOSTNAME=localhost.localdomain
    PRIORITY=6
    MESSAGE=Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-4.18.0-348.20.1.el8_5.x86_64 root=/dev/mapper/almalinux-root ro crashkernel=auto >
Fri 2022-04-15 09:27:55.667783 EDT [s=b7740adaec2e45a7ae7671427226140e;i=3;b=8ce572d58a6247a9b9cf57c4efd67624;m=106371;t=5dcb160d85d47;x=22>
    _SOURCE_MONOTONIC_TIMESTAMP=0
    _TRANSPORT=kernel
    SYSLOG_FACILITY=0
    SYSLOG_IDENTIFIER=kernel
    _BOOT_ID=8ce572d58a6247a9b9cf57c4efd67624
    _MACHINE_ID=9f4f62f8fec1487b98405a80137dfcef
    _HOSTNAME=localhost.localdomain
    PRIORITY=6
    MESSAGE=x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
...

Конец!

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

Похожие сообщения:

  • Пересылать журналы и показатели сервера в Elasticsearch с помощью Beats
  • Как пересылать журналы в Grafana Loki с помощью Promtail
  • Пересылка журналов Kubernetes в Elasticsearch (ELK) с помощью Fluentbit

Статьи по данной тематике: