systemd (Русский)/Journal (Русский)
Состояние перевода: На этой странице представлен перевод статьи systemd/Journal. Дата последней синхронизации: 10 декабря 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.
systemd использует журнал (journal), собственную систему ведения логов, в связи с чем больше не требуется запускать отдельный демон логирования. Для чтения логов используйте команду journalctl(1) .
В Arch Linux каталог /var/log/journal/ — это часть пакета systemd и по умолчанию (когда в конфигурационном файле /etc/systemd/journald.conf параметру Storage= задано значение auto ) журнал записывается именно в /var/log/journal/ . Если каталог будет удалён, systemd не пересоздаст его автоматически и вместо этого будет вести журнал в /run/systemd/journal без сохранения между перезагрузками. Однако каталог будет пересоздан, если добавить Storage=persistent в journald.conf и перезапустить systemd-journald.service (или перезагрузиться).
Сообщения в журнале классифицируются по уровню приоритета и категории (Facility). Классификация записей соответствует классическому протоколу Syslog (RFC 5424).
Уровни приоритета
Коды важности syslog (в systemd называются приоритетами) используются для пометки важности сообщений RFC 5424.
Значение | Важность | Ключевое слово | Описание | Примеры |
---|---|---|---|---|
0 | Emergency | emerg | Cистема не работоспособна | Серьёзный баг в ядре, дамп памяти systemd. Данный уровень не должен использоваться приложениями. |
1 | Alert | alert | Cистема требует немедленного вмешательства | Отказ важной подсистемы. Потеря данных. kernel: BUG: unable to handle kernel paging request at ffffc90403238ffc . |
2 | Critical | crit | Cостояние системы критическое | Аварийные отказы, дампы памяти. Например, знакомое сообщение: systemd-coredump[25319]: Process 25310 (plugin-containe) of user 1000 dumped core Отказ основных приложений системы, например, X11. |
3 | Error | err | Cообщения об ошибках | Сообщение о некритической ошибке: kernel: usb 1-3: 3:1: cannot get freq at ep 0x84 , systemd[1]: Failed unmounting /var. , libvirtd[1720]: internal error: Failed to initialize a valid firewall backend |
4 | Warning | warning | Предупреждения о возможных проблемах | В некорневой файловой системе остался всего 1 ГБ свободного места. org.freedesktop. Notifications[1860]: (process:5999): Gtk-WARNING **: Locale not supported by C library. Using the fallback ‘C’ locale . |
5 | Notice | notice | Cообщения о нормальных, но важных событиях | systemd[1]: var.mount: Directory /var to mount over is not empty, mounting anyway , gcr-prompter[4997]: Gtk: GtkDialog mapped without a transient parent. This is discouraged |
6 | Informational | info | Информационные сообщения | lvm[585]: 7 logical volume(s) in volume group «archvg» now active |
7 | Debug | debug | Отладочные сообщения | kdeinit5[1900]: powerdevil: Scheduling inhibition from «:1.14» «firefox» with cookie 13 and reason «screen» |
Вышеуказанные правила являются рекомендацией и окончательное решение остаётся за разработчиком приложения. Всегда возможно, что сообщение будет выше или ниже ожидаемого уровня.
Категории
Коды категорий (facility) syslog используются для указания типа программы, добавляющего сообщение в лог RFC 5424.
Код категории | Ключевое слово | Описание | Информация |
---|---|---|---|
0 | kern | Сообщения ядра | |
1 | user | Сообщения программного обеспечения пользователя | |
2 | Почтовая система | Архаический POSIX всё ещё поддерживается и иногда используется (см. mail(1) для получения более подробной информации) | |
3 | daemon | Системные службы | Все демоны, включая systemd и его подсистемы |
4 | auth | Сообщения безопасности (авторизации) | См. также код 10 |
5 | syslog | Собственные сообщения syslogd | Для реализаций syslogd (не используется в systemd, см. код 3) |
6 | lpr | Подсистема печати (архаическая подсистема) | |
7 | news | Подсистема новостных групп (архаическая подсистема) | |
8 | uucp | Подсистема UUCP (архаическая подсистема) | |
9 | clock daemon | systemd-timesyncd | |
10 | authpriv | Сообщения безопасности (авторизации) | См. также код 4 |
11 | ftp | Служба FTP | |
12 | — | Подсистема NTP | |
13 | — | Журнал аудита | |
14 | — | Аварийный журнал | |
15 | cron | Служба планирования | |
16 | local0 | Локальное использование 0 (local0) | |
17 | local1 | Локальное использование 1 (local1) | |
18 | local2 | Локальное использование 2 (local2) | |
19 | local3 | Локальное использование 3 (local3) | |
20 | local4 | Локальное использование 4 (local4) | |
21 | local5 | Локальное использование 5 (local5) | |
22 | local6 | Локальное использование 6 (local6) | |
23 | local7 | Локальное использование 7 (local7) |
Полезные категории для наблюдения: 0, 1, 3, 4, 9, 10, 15.
Фильтрация вывода
journalctl позволяет фильтровать вывод по определённым полям. Если должно быть отображено большое количество сообщений или необходима фильтрация большого промежутка времени, то вывод команды может занять значительное время.
- Показать сообщения с момента текущей загрузки системы:
# journalctl --since="2012-10-30 18:17:16"
# journalctl --since "20 min ago"
systemd/Journal
systemd has its own logging system called the journal; running a separate logging daemon is not required. To read the log, use journalctl(1) .
In Arch Linux, the directory /var/log/journal/ is a part of the systemd package, and the journal (when Storage= is set to auto in /etc/systemd/journald.conf ) will write to /var/log/journal/ . If that directory is deleted, systemd will not recreate it automatically and instead will write its logs to /run/systemd/journal in a nonpersistent way. However, the directory will be recreated if Storage=persistent is added to journald.conf and systemd-journald.service is restarted (or the system is rebooted).
Systemd journal classifies messages by Priority level and Facility. Logging classification corresponds to classic Syslog protocol (RFC 5424).
Priority level
A syslog severity code (in systemd called priority) is used to mark the importance of a message RFC 5424 6.2.1.
Value | Severity | Keyword | Description | Examples |
---|---|---|---|---|
0 | Emergency | emerg | System is unusable | Severe Kernel BUG, systemd dumped core. This level should not be used by applications. |
1 | Alert | alert | Should be corrected immediately | Vital subsystem goes out of work. Data loss. kernel: BUG: unable to handle kernel paging request at ffffc90403238ffc . |
2 | Critical | crit | Critical conditions | Crashes, coredumps. Like familiar flash: systemd-coredump[25319]: Process 25310 (plugin-containe) of user 1000 dumped core Failure in the system primary application, like X11. |
3 | Error | err | Error conditions | Non-fatal error reported: kernel: usb 1-3: 3:1: cannot get freq at ep 0x84 , systemd[1]: Failed unmounting /var. , libvirtd[1720]: internal error: Failed to initialize a valid firewall backend |
4 | Warning | warning | May indicate that an error will occur if action is not taken | A non-root file system has only 1GB free. org.freedesktop. Notifications[1860]: (process:5999): Gtk-WARNING **: Locale not supported by C library. Using the fallback ‘C’ locale |
5 | Notice | notice | Events that are unusual, but not error conditions | systemd[1]: var.mount: Directory /var to mount over is not empty, mounting anyway , gcr-prompter[4997]: Gtk: GtkDialog mapped without a transient parent. This is discouraged |
6 | Informational | info | Normal operational messages that require no action | lvm[585]: 7 logical volume(s) in volume group «archvg» now active |
7 | Debug | debug | Messages which may need to be enabled first, only useful for debugging | kdeinit5[1900]: powerdevil: Scheduling inhibition from «:1.14» «firefox» with cookie 13 and reason «screen» |
These rules are recommendations, and the priority level of a given error is at the application developer’s discretion. It is always possible that the error will be at a higher or lower level than expected.
Facility
A syslog facility code is used to specify the type of program that is logging the message RFC 5424 6.2.1.
Facility code | Keyword | Description | Info |
---|---|---|---|
0 | kern | Kernel messages | |
1 | user | User-level messages | |
2 | Mail system | Archaic POSIX still supported and sometimes used (for more mail(1) ) | |
3 | daemon | System daemons | All daemons, including systemd and its subsystems |
4 | auth | Security/authorization messages | Also watch for different facility 10 |
5 | syslog | Messages generated internally by syslogd | For syslogd implementations (not used by systemd, see facility 3) |
6 | lpr | Line printer subsystem (archaic subsystem) | |
7 | news | Network news subsystem (archaic subsystem) | |
8 | uucp | UUCP subsystem (archaic subsystem) | |
9 | Clock daemon | systemd-timesyncd | |
10 | authpriv | Security/authorization messages | Also watch for different facility 4 |
11 | ftp | FTP daemon | |
12 | — | NTP subsystem | |
13 | — | Log audit | |
14 | — | Log alert | |
15 | cron | Scheduling daemon | |
16 | local0 | Local use 0 (local0) | |
17 | local1 | Local use 1 (local1) | |
18 | local2 | Local use 2 (local2) | |
19 | local3 | Local use 3 (local3) | |
20 | local4 | Local use 4 (local4) | |
21 | local5 | Local use 5 (local5) | |
22 | local6 | Local use 6 (local6) | |
23 | local7 | Local use 7 (local7) |
Useful facilities to watch: 0, 1, 3, 4, 9, 10, 15.
Filtering output
journalctl allows for the filtering of output by specific fields. If there are many messages to display, or if the filtering of large time spans has to be done, the output of this command can be extensively delayed.
- Show all messages matching PATTERN :
# journalctl --grep=PATTERN
# journalctl --since="2012-10-30 18:17:16"
# journalctl --since "20 min ago"