Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
system:journalctl [2023/12/15 00:18] mirocowsystem:journalctl [2023/12/15 00:24] (текущий) mirocow
Строка 1: Строка 1:
 +{{tag>system journal journalctl}}
 +
 ====== Journalctl ====== ====== Journalctl ======
  
-Централизованное ведение журнала+===== Централизованное ведение журнала ===== 
 Система systemd и менеджер служб внесли значительные изменения в способ сбора системных журналов. Журналы раньше располагались в разных местах файловой системы в соответствии с сервисом или демоном, который их создавал. Но у них всех было одно общее. Это были простые текстовые файлы. Система systemd и менеджер служб внесли значительные изменения в способ сбора системных журналов. Журналы раньше располагались в разных местах файловой системы в соответствии с сервисом или демоном, который их создавал. Но у них всех было одно общее. Это были простые текстовые файлы.
  
Строка 8: Строка 11:
 Это также может упростить перекрёстную ссылку на связанную информацию, которая ранее была бы записана в отдельных файлах журнала. Поскольку данные теперь хранятся в одном журнале, данные из нескольких источников, представляющих интерес, могут быть выбраны и отображены в одном переплетённом списке записей. Это также может упростить перекрёстную ссылку на связанную информацию, которая ранее была бы записана в отдельных файлах журнала. Поскольку данные теперь хранятся в одном журнале, данные из нескольких источников, представляющих интерес, могут быть выбраны и отображены в одном переплетённом списке записей.
  
-journalctl — это инструмент, используемый для работы с журналом.+  * journalctl — это инструмент, используемый для работы с журналом. 
 + 
 +===== journalctl без излишеств =====
  
-journalctl без излишеств 
 Вы можете вызвать journalctl без параметров командной строки: Вы можете вызвать journalctl без параметров командной строки:
  
Строка 40: Строка 44:
  
 <code bash>sudo journalctl -n 10</code> <code bash>sudo journalctl -n 10</code>
-Постоянное обновление выводимой информации+===== Постоянное обновление выводимой информации ===== 
 Вы можете сделать так, что journalctl будет постоянно выводить новые записи журнала в реальном времени по мере их появления. Для этого используйте опцию -f. Вы можете сделать так, что journalctl будет постоянно выводить новые записи журнала в реальном времени по мере их появления. Для этого используйте опцию -f.
  
Строка 47: Строка 52:
 Обновление происходит практически в реальном времени, в зависимости от количества событий, выводимых записей может быть много. Обновление происходит практически в реальном времени, в зависимости от количества событий, выводимых записей может быть много.
  
-Изменение формата отображения+===== Изменение формата отображения ===== 
 Поскольку журнал представляет собой двоичный файл, данные в нем должны быть переведены или разобраны в текст, прежде чем он может быть отображён для вас. При использовании разных парсеров разные форматы вывода могут быть созданы из одних и тех же двоичных исходных данных. Journalctl может использовать несколько разных форматов. Поскольку журнал представляет собой двоичный файл, данные в нем должны быть переведены или разобраны в текст, прежде чем он может быть отображён для вас. При использовании разных парсеров разные форматы вывода могут быть созданы из одних и тех же двоичных исходных данных. Journalctl может использовать несколько разных форматов.
  
Строка 112: Строка 118:
  
  
-Выбор сообщений журнала по периоду времени+===== Выбор сообщений журнала по периоду времени ===== 
 Чтобы ограничить вывод из journalctl интересующим вас периодом времени, используйте опции -S (с) и -U (до). Чтобы ограничить вывод из journalctl интересующим вас периодом времени, используйте опции -S (с) и -U (до).
  
Строка 129: Строка 136:
 Это отличная комбинация, если вы знаете, что в вашей системе произошло что-то странное, и примерно когда это произошло. Это отличная комбинация, если вы знаете, что в вашей системе произошло что-то странное, и примерно когда это произошло.
  
-Использование относительных периодов времени+===== Использование относительных периодов времени ===== 
 Вы можете использовать относительную адресацию при выборе периода времени. Это означает, что вы можете дать указание вроде таких, как «показать мне все события за один день до настоящего момента». Это именно то, что означает следующая команда. В ней «d» означает «день», а «-1» означает один день в прошлом. Вы можете использовать относительную адресацию при выборе периода времени. Это означает, что вы можете дать указание вроде таких, как «показать мне все события за один день до настоящего момента». Это именно то, что означает следующая команда. В ней «d» означает «день», а «-1» означает один день в прошлом.
  
Строка 157: Строка 165:
 Вы можете смешивать различные модификаторы периода времени. Чтобы увидеть все от двух дней назад до сегодняшнего дня, используйте эту команду: Вы можете смешивать различные модификаторы периода времени. Чтобы увидеть все от двух дней назад до сегодняшнего дня, используйте эту команду:
  
-1 + 
-sudo journalctl -S -2d -U today+<code bash>sudo journalctl -S -2d -U today</code>
 Эта команда покажет все сообщения системного журнала с позавчера до сегодняшнего дня (не включая сегодня). Эта команда покажет все сообщения системного журнала с позавчера до сегодняшнего дня (не включая сегодня).
  
-Выбор сообщений журнала по полям данных+===== Выбор сообщений журнала по полям данных ===== 
 Вы можете искать сообщения журнала, которые соответствуют широкому диапазону полей, присутствующих в записях логов. Эти фильтры пытаются найти совпадения в метаданных, прикреплённых к каждому сообщению. Рекомендуется обратиться к списку полей и выбрать те, которые будут наиболее полезными для вас: Вы можете искать сообщения журнала, которые соответствуют широкому диапазону полей, присутствующих в записях логов. Эти фильтры пытаются найти совпадения в метаданных, прикреплённых к каждому сообщению. Рекомендуется обратиться к списку полей и выбрать те, которые будут наиболее полезными для вас:
  
Строка 210: Строка 219:
  
 <code bash>man systemd.journal-fields</code> <code bash>man systemd.journal-fields</code>
-Вывод сообщений ядра+===== Вывод сообщений ядра ===== 
 Существует встроенный способ быстрой изоляции сообщений ядра. Вам не нужно искать и изолировать их самостоятельно. Опция -k удаляет все остальные сообщения и даёт вам мгновенный просмотр записей журнала ядра. Существует встроенный способ быстрой изоляции сообщений ядра. Вам не нужно искать и изолировать их самостоятельно. Опция -k удаляет все остальные сообщения и даёт вам мгновенный просмотр записей журнала ядра.
  
Строка 219: Строка 229:
  
  
-Просмотр загрузочных сообщений+===== Просмотр загрузочных сообщений ===== 
 Если у вас возникла проблема, связанная с загрузкой, которую вы хотите расследовать, journalctl вам поможет. Возможно, вы добавили новое оборудование, и оно не отвечает, или ранее работающий аппаратный компонент больше не работает после вашего последнего обновления системы. Если у вас возникла проблема, связанная с загрузкой, которую вы хотите расследовать, journalctl вам поможет. Возможно, вы добавили новое оборудование, и оно не отвечает, или ранее работающий аппаратный компонент больше не работает после вашего последнего обновления системы.
  
Строка 248: Строка 259:
 Будут извлечены и показаны только сообщения для этой загрузки. Будут извлечены и показаны только сообщения для этой загрузки.
  
-Поиск проблем служб (journalctl -xe)+===== Поиск проблем служб (journalctl -xe) ===== 
 В случае, если запуск службы завершился ошибкой, то вам будет рекомендовано запустить команду вида: В случае, если запуск службы завершился ошибкой, то вам будет рекомендовано запустить команду вида:
  
Строка 272: Строка 284:
  
 <code bash>journalctl -b 2 -xe /usr/bin/openvpn</code> <code bash>journalctl -b 2 -xe /usr/bin/openvpn</code>
-Очистка места на диске: управление пространством на жёстком диске для системного журнала+===== Очистка места на диске: управление пространством на жёстком диске для системного журнала ===== 
 Конечно, журнал и все его сообщения журнала хранятся на вашем жёстком диске. Это означает, что они будут занимать место на жёстком диске. Чтобы узнать, сколько места занял журнал, используйте параметр --disk-using. Конечно, журнал и все его сообщения журнала хранятся на вашем жёстком диске. Это означает, что они будут занимать место на жёстком диске. Чтобы узнать, сколько места занял журнал, используйте параметр --disk-using.
  
Строка 293: Строка 306:
  
  
-Данные против информации+===== Данные против информации ===== 
 Данные бесполезны до тех пор, пока вы не можете получить и использовать их. В случае использования, они становятся полезной информацией. Команда journalctl является очень гибким и сложным инструментом, который позволяет вам получить интересующую информацию различными способами. Данные бесполезны до тех пор, пока вы не можете получить и использовать их. В случае использования, они становятся полезной информацией. Команда journalctl является очень гибким и сложным инструментом, который позволяет вам получить интересующую информацию различными способами.
  
 Вы можете использовать практически любой фрагмент информации, которая вам нужна, в нужных вам сообщениях журнала. Вы можете использовать практически любой фрагмент информации, которая вам нужна, в нужных вам сообщениях журнала.