Перейти к содержанию

Навигация

Journalctl: различия между версиями

(Новая страница: «{{DISPLAYTITLE: journalctl — утилита просмотра системного журнала}} == Описание == journalctl — это консол...»)
 
 
(не показано 13 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{DISPLAYTITLE: journalctl — утилита просмотра системного журнала}}
{{DISPLAYTITLE: journalctl — утилита просмотра системного журнала}}
 
[[Image: journalctl — logs.png |500px|thumb|right| Просмотр системного журнала с помощью journalctl]]
== Описание ==
== Описание ==
journalctl — это консольная утилита для просмотра системного журнала ОС Linux, поэтому перед вводом команд подключитесь к [[SSH]] контроллера.
journalctl — это консольная утилита для просмотра системного журнала ОС Linux, поэтому перед вводом команд подключитесь к контроллеру по [[SSH]] или [[Debug UART| отладочный порт]].


Здесь приведены примеры, которые решают большинство задач. Полный список параметров утилиты, смотрите командой:
Здесь приведены примеры, которые решают большинство задач. Полный список параметров смотрите командой <code>journalctl --help</code> и в [https://manpages.debian.org/bullseye/systemd/journalctl.1.en.html документации на утилиту].
<syntaxhighlight lang="bash">
journalctl --help
</syntaxhighlight>


Перемещаться по выводу утилиты можно с помощью клавиш:
Перемещаться по выводу утилиты можно с помощью клавиш:
* <kbd>q</kbd>— выйти из просмотра.
* <kbd>q</kbd> — выйти из просмотра.
* <kbd>↑</kbd> — вверх на одну строку.
* <kbd>↑</kbd> — вверх на одну строку.
* <kbd>↓</kbd> — вниз на одну строку.
* <kbd>↓</kbd> — вниз на одну строку.
Строка 16: Строка 13:
* <kbd>Пробел</kbd> — вниз на одну страницу
* <kbd>Пробел</kbd> — вниз на одну страницу
* <kbd>g</kbd> — перейти на первую строку
* <kbd>g</kbd> — перейти на первую строку
* <kbd>G</kbd> — перейти на последнюю строку
* <kbd>/</kbd> — поиск по журналу
* <kbd>/</kbd> — поиск по журналу
* <kbd>n</kbd> — найти следующее вхождение
* <kbd>n</kbd> — найти следующее вхождение
* <kbd>N</kbd> — найти предыдущее вхождение
* <kbd>N</kbd> — найти предыдущее вхождение
== Архив ==
journald при каждой загрузке создаёт новый журнал, а старый закрывает. Список доступных журналов можно посмотреть командой:
<syntaxhighlight lang="console">
# journalctl --list-boots
-2 301af672ad2b400fa9c6562a3403d179 Sat 2021-10-30 10:25:03 +04—Thu 2021-11-04 10:39:39 +04
-1 1238af7b5cfb4dd9a10bc54a1dd63067 Thu 2021-11-04 10:39:53 +04—Thu 2021-11-04 13:42:19 +04
0 cc99bb41d7524321a70bddda34c1cceb Thu 2021-11-04 13:43:31 +04—Thu 2021-11-04 14:15:20 +04
</syntaxhighlight>
По умолчанию journalctl выводит сообщения из всех доступных журналов, но вы можете сократить выборку, для этого укажите номер журнала в параметре <code>-b</code>:
<syntaxhighlight lang="bash">
journalctl -b -1
</syntaxhighlight>


== Просмотр журнала ==
== Просмотр журнала ==
Строка 42: Строка 52:
journalctl -n 5
journalctl -n 5
</syntaxhighlight>
</syntaxhighlight>
Параметры можно комбинировать.


== Фильтрация результатов ==
== Фильтрация результатов ==
Строка 60: Строка 68:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
journalctl -u wb-mqtt-serial
journalctl -u wb-mqtt-serial
</syntaxhighlight>
Просмотр сообщений от определённого сервиса в реальном времени:
<syntaxhighlight lang="bash">
journalctl -u wb-mqtt-serial -f
</syntaxhighlight>
</syntaxhighlight>


Строка 67: Строка 80:
journalctl --since -1d
journalctl --since -1d
</syntaxhighlight>
</syntaxhighlight>
*: вместо d можно использовать h — часы, m — минуты, w — недели
*: можно использовать: w — недели, d — дни, h — часы, m — минуты
* записи с определённого времени:
* записи с определённого времени:
*:<syntaxhighlight lang="bash">
*:<syntaxhighlight lang="bash">
Строка 75: Строка 88:
*:<syntaxhighlight lang="bash">
*:<syntaxhighlight lang="bash">
journalctl --since "2020-02-13 07:00:00" --until "2020-02-14 07:00:00"
journalctl --since "2020-02-13 07:00:00" --until "2020-02-14 07:00:00"
</syntaxhighlight>
* записи за последний час
*:<syntaxhighlight lang="bash">
journalctl --since "1 hour ago"
</syntaxhighlight>
Вывод команды можно фильтровать по уровню важности сообщений:
* 0: emergency — чрезвычайная ситуация
* 1: alerts — предупреждения, требуется вмешательство
* 2: critical — критическое состояние
* 3: errors — ошибки
* 4: warning — предупреждения
* 5: notice — уведомления
* 6: info — информационные сообщения
* 7: debug — отладочные сообщения
Например, чтобы вывести все ошибки:
<syntaxhighlight lang="bash">
journalctl -p 3
</syntaxhighlight>
Параметры можно комбинировать, например:
* показать предупреждения, записанные драйвером wb-mqtt-serial с момента последней загрузки:
*:<syntaxhighlight lang="bash">
journalctl -b 0 -p 4 -u wb-mqtt-serial
</syntaxhighlight>
* показать ошибки, записанные драйвером wb-mqtt-serial за последний час:
*:<syntaxhighlight lang="bash">
journalctl --since "1 hour ago" -p 3 -u wb-mqtt-serial
</syntaxhighlight>
</syntaxhighlight>


== Сохранение в текстовый файл ==
== Сохранение в текстовый файл ==
Вывод утилиты journalctl можно сохранить в файл, для этого добавьте в конец команды <code></code>>> filename.txt</code>, например, сохраним в файл сообщения драйвера wb-mqtt-serial:
Вывод утилиты journalctl можно сохранить в файл, для этого добавьте в конец команды <code>>> filename.txt</code>, например, сохраним в файл сообщения драйвера wb-mqtt-serial:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
journalctl -u wb-mqtt-serial >> /tmp/log-file.txt
journalctl --no-pager -u wb-mqtt-serial >> /tmp/log-file.txt
</syntaxhighlight>
</syntaxhighlight>
Так как вывод команды будет сохранён в файл <code>/tmp/log-file.txt</code>, то на консоли вы ничего не увидите.
Так как вывод команды будет сохранён в файл <code>/tmp/log-file.txt</code>, то на консоли вы ничего не увидите.


О том, как скопировать файл с контроллера на компьютер, читайте в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]].
О том, как скопировать файл с контроллера на компьютер, читайте в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]].
== Прочее ==
 
== Занимаемое логами место ==
Посмотреть занимаемое системным журналом место:
Посмотреть занимаемое системным журналом место:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">