Как да използвате journalctl за четене на системни регистрационни файлове на Linux
Фатмавати Ахмад Заенури/Shutterstock
Системното регистриране на Linux се промени с въвеждането на |_+_|. Научете как да използвате |_+_| команда за четене и филтриране на съобщения в системния дневник.
Централизирано регистриране
Не е чужд на противоречия, |_+_| системен и сервизен мениджър въведе значителна промяна в начина, по който се събират системните регистрационни файлове. Дневниците се намираха на различни места във файловата система в зависимост от услугата или демона, който ги създава. Но всички те имаха едно общо нещо. Те бяха обикновени текстови файлове.
С |_+_| всички регистрационни файлове на системата, зареждането и ядрото се събират и управляват от централно, специално решение за регистриране. Форматът, в който се съхраняват, е двоичен. Едно нещо, което улеснява, е възможността за извличане на данните в различни формати, като напр JSON , както ще видим.
може също така да улесни кръстосаното препращане на свързана информация, която преди това е била записана в отделни регистрационни файлове. Тъй като данните вече се съхраняват в едно списание, данните от няколко източника на интерес могат да бъдат избрани и показани в един преплетен списък от записи.
|_+_| е инструментът работил със списанието .
journalctl Без излишни излишъци
Можете да извикате |_+_| без параметри на командния ред:
systemd
|_+_| показва целия дневник, като най-старите записи са в горната част на списъка. Списъкът се показва в |_+_|, което ви позволява да прелиствате и търсите с помощта на обичайните функции за навигация на |_+_|. Можете също да използвате |_+_| и |_+_| клавиши за превъртане настрани, за да прочетете широки записи в дневника.
Натискане на |_+_| key ще скочи направо до края на списъка и най-новите записи в дневника.
Натиснете |_+_| за излизане.
СВЪРЗАНИ: Как да използвате командата less в Linux
Въпреки че |_+_| може да бъде извикан без използване на |_+_|, ще се уверите, че виждате всички детайли в дневника, ако използвате |_+_|.
journalctl
Ако трябва, можете да направите |_+_| изпратете изхода си към прозореца на терминала вместо към |_+_|, като използвате |_+_| опция.
systemd
Изходът превърта бързо през прозореца на терминала и вие се връщате в командния ред.
За да ограничите броя на редовете, които |_+_| връща, използвайте |_+_| опция (линии). Нека поискаме десет изходни реда:
systemd
След актуализации на списанието
За да направите |_+_| покажете най-новите записи, когато пристигнат в дневника, използвайте |_+_| (следвайте) опция.
journalctl
Реклама
Най-новият запис има времева марка 07:09:07. Когато се извършва нова дейност, новите записи се добавят в долната част на дисплея. Актуализации почти в реално време – страхотно!
В 07:09:59 приложение, наречено |_+_| инжектира запис в дневника в дневника, който казваше, Ново съобщение от HTG.
Промяна на формата на дисплея
Тъй като дневникът е двоичен файл, данните в него трябва да бъдат преведени или анализирани в текст, преди да могат да ви бъдат показани. С различни анализатори могат да бъдат създадени различни изходни формати от едни и същи двоични изходни данни. Има няколко различни формата, които |_+_| може да използва.
Изходът по подразбиране е краткият формат, който е много подобен на класическия формат на системния журнал. За да заявите изрично краткия формат, използвайте |_+_| (изход) опция с |_+_| модификатор.
journalctl
Отляво надясно полетата са:
- Часът на създаване на съобщението в местно време.
- Името на хоста.
- Името на процеса. Това е процесът, който генерира съобщението.
- Съобщението в дневника.
За да получите пълен печат за дата и час, използвайте |_+_| модификатор:
journalctl
Форматите за дата и час в този изход са форматът, в който трябва да предоставите дати и часове, когато избирате регистрационни съобщения по период, както ще видим скоро.
РекламаЗа да видите всички метаданни, които придружават всяко съобщение в дневника, използвайте |_+_| модификатор.
less
Там са много възможни полета , но рядко се случва всички полета да присъстват в съобщението.
Едно поле, което си струва да се обсъди, е |_+_| поле. В този пример той има стойност 6. Стойността представлява важността на съобщението:
- & rsaquo; Кибер понеделник 2021: Най-добрите технологични сделки
- & rsaquo; Кибер понеделник 2021: Най-добрите оферти за Apple
- › Компютърната папка е 40: Как Xerox Star създаде работния плот
- › 5 уебсайта, които всеки потребител на Linux трябва да направи отметка
- › Как да намерите своя Spotify Wrapped 2021
- › Функции срещу формули в Microsoft Excel: Каква е разликата?
Ако искате изходът да бъде представен като правилно оформен Нотация на обекти на JavaScript (JSON) обекти, използвайте |_+_| модификатор:
less
Всяко съобщение е правилно обвито като добре оформен JSON обект и се показва по едно съобщение на изходен ред.
За да имате JSON изход красиво отпечатан , използвайте |_+_| модификатор.
Left Arrow
Реклама
Всеки JSON обект е разделен на няколко реда, като всяка двойка име-стойност е на нов ред.
За да видите само съобщенията за вписване в дневника, без времеви печати или други метаданни, използвайте |_+_| модификатор:
Right Arrow
Този формат на показване може да затрудни идентифицирането на кой процес е повдигнал събитието в журнала, въпреки че някои съобщения съдържат улика.
Избиране на регистрационни съобщения по времеви период
За да ограничите изхода от |_+_| за период от време, който ви интересува, използвайте |_+_| (тъй като) и |_+_| (до) опции.
За да видите записите в дневника след определен час и дата, използвайте тази команда:
End
Дисплеят съдържа само съобщения, които са пристигнали след датата и часа в командата.
Реклама
За да определите период от време, за който искате да докладвате, използвайте и двете |_+_| (тъй като) и |_+_| (до) опциите заедно. Тази команда разглежда съобщенията в дневника от 15-минутен период от време.:
Ctrl+C
Това е чудесна комбинация, ако знаете, че нещо странно се е случило във вашата система и приблизително кога се е случило.
Използване на относителни периоди от време
Можете да използвате относително адресиране, когато избирате периодите си от време. Това означава, че можете да кажете неща като покажи ми всички събития от преди един ден до сега. Точно това означава тази команда. D означава ден, а -1 означава един ден в миналото.
journalctl
Съобщенията в журнала са изброени от 00:00:00 вчера до сега.
Ако искате да проучите нещо, което се е случило в близкото минало, можете да посочите относителен период от време, измерен в часове. Тук преглеждаме съобщенията в регистъра от последния час:
sudo
Показват се съобщенията от последния час. Можете също да използвате m, за да зададете относителни периоди от време, измерени в минути, и w за седмици.
Реклама
|_+_| разбира |_+_|, |_+_| и |_+_|. Тези модификатори осигуряват удобен начин за определяне на общи периоди от време. За да видите всички събития, случили се вчера, използвайте тази команда:
sudo
Всички събития в дневника, случили се вчера, до полунощ 00:00:00, се извличат и показват за вас.
За да видите всички регистрационни съобщения, получени днес досега, използвайте тази команда:
journalctl
Показва се всичко от 00:00:00 до момента на издаване на командата.
Можете да смесвате различните модификатори на период от време. За да видите всичко от преди два дни до началото на днешния ден, използвайте тази команда:
less
Всичко от завчера до днес се извлича и показва.
Избиране на регистрационни съобщения по полета с данни
Можете да търсите съобщения в журнала които отговарят на широк спектър от полета в списанието . Тези търсения се опитват да намерят съвпадения в метаданните, прикачени към всяко съобщение. Препоръчително е да вижте списъка с полета и изберете тези, които ще ви бъдат най-полезни.
РекламаИмайте предвид, че дали дадено приложение попълва всяко поле или не, зависи изцяло от авторите на приложението. Не можете да гарантирате, че всяко поле ще бъде попълнено.
Всички модификатори на полета в дневника се използват по същия начин. Ще използваме няколко в нашите примери по-долу. За да търсите регистрационни съобщения от конкретно приложение, използвайте |_+_| (команда) модификатор. Ако използвате и |_+_| (следване) опция, |_+_| ще проследява новите съобщения от това приложение, когато пристигат.
--no-pager
Можете да търсите записи в журнала с помощта на ID на процеса на процеса, генерирал съобщението в журнала. Използвайте |_+_| команда за намиране на идентификатор на процеса на демона или приложението, което ще търсите .
journalctl
На машината, използвана за изследване на тази статия, SSH демонът е процес 751.
Можете също да търсите по потребителски идентификатор . Това е потребителският идентификатор на лицето, което е стартирало приложението или командата, или което притежава процеса.
-n
Всички съобщения, свързани с други потребителски идентификатори, се филтрират. Показват се само съобщения, свързани с потребител 1000:
Друг начин за търсене на регистрационни съобщения, свързани с конкретно приложение, е да предоставите пътя към изпълнимия файл.
journalctl
Всички |_+_| съобщенията в дневника на планировчика се извличат и показват .
Реклама
За да улесним търсенето, можем да попитаме |_+_| за да изброи всички стойности, които притежава, за което и да е от полетата на дневника.
За да видите потребителския идентификатор, който |_+_| е записал регистрационни съобщения за, използвайте |_+_| (полета) и предайте |_+_| идентификатор на полето.
-f
Нека направим това отново и да разгледаме групови идентификатори (GID):
geek-app
Можете да направите това с всеки от идентификатори на полета в журнала .
Изброяване на съобщения на ядрото
Има вграден начин за бързо изолиране на съобщенията на ядрото. Не е нужно сами да ги търсите и изолирате. |_+_| (kernel) опцията премахва всички други съобщения и ви дава незабавен преглед на записите в дневника на ядрото.
journalctl
Маркирането отразява важността на съобщението, според стойностите в |_+_| поле.
Преглед на съобщения за зареждане
Ако имате проблем, свързан със зареждането, който искате да проучите, |_+_| покрихте ли. Може би сте добавили нов хардуер и той не отговаря, или някой преди това работещ хардуерен компонент вече не работи след последното ви надстройване на системата.
За да видите записите в журнала, свързани с последното ви зареждане, използвайте |_+_| (зареждане) опция:
-o
Показват се записи в дневника за последното зареждане.
Когато казваме последно зареждане, имаме предвид процеса на зареждане, който оживи компютъра ви за текущата ви сесия, в която сте влезли. За да видите предишни зареждания, можете да използвате число, за да кажете |_+_| кое зареждане ви интересува. За да видите третото предишно зареждане, използвайте тази команда:
short
Като цяло, ако сте имали проблем и е трябвало да рестартирате машината си, това е предишна последователност на зареждане, която ви интересува. Така че това е често срещана командна форма.
Лесно е да се объркате с последователността на ботушите. За да помогнем, можем да помолим |_+_| за да изброи ботушите, които е записал в своя дневник, използвайки |_+_| опция.
short-full
Можете да идентифицирате зареждането, за което искате да виждате съобщения, от клеймото за дата и час и след това да използвате номера в лявата колона, за да получите съобщенията в журнала за тази последователност на зареждане. Можете също да изберете 32-битовия идентификатор за зареждане и да го предадете на |_+_|.
verbose
Реклама
Съобщенията в журнала от заявената от нас последователност за зареждане се извличат и показват.
Управление на пространството на твърдия диск в журнала
Разбира се, дневникът и всички негови регистрационни съобщения се съхраняват на вашия твърд диск. Това означава, че те ще заемат място на твърдия диск. За да видите колко място е заето от дневника, използвайте |_+_| опция.
Priority
С днешните твърди дискове 152 MB изобщо не са много място, но за демонстрационни цели все пак ще го отрежем обратно. Има два начина, по които можем да направим това. Първият е да зададете ограничение за размера, до което искате дневникът да бъде намален обратно. Ще порасне отново, разбира се, но можем да го подрежем вече готов за този нов растеж.
Ще използваме чудесно озаглавеното |_+_| опция и предайте размера, до който бихме искали дневникът да бъде намален. Ще поискаме 100 MB. Начинът да мислим за това е, че питаме |_+_| да изхвърлите каквото можете, но не слизайте по-малко от 100 MB.
json
Другият начин да намалите размера на журнала е да използвате |_+_| опция. Тази опция казва |_+_| за да отхвърлите съобщения, които са по-стари от периода, който сте посочили в командния ред. Можете да използвате |_+_|, |_+_|, |_+_| и |_+_| във времевия период.
Нека премахнем всички съобщения, по-стари от една седмица:
json-pretty
Данни срещу информация
Данните не са полезни, освен ако не можете да стигнете до тях и да ги използвате. Тогава става полезна информация. |_+_| командата е гъвкав и сложен инструмент, който ви позволява да стигнете до информацията, която ви интересува, по различни начини.
Можете да използвате почти всеки фрагмент от информация, който трябва да влезете в дневника, от който се нуждаете.
СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти
ПРОЧЕТЕТЕ СЛЕДВАЩОДейв Маккей за първи път използва компютри, когато перфорираната хартиена лента беше на мода и оттогава той програмира. След повече от 30 години в ИТ индустрията, той вече е технологичен журналист на пълен работен ден. По време на кариерата си той е работил като програмист на свободна практика, мениджър на международен екип за разработка на софтуер, ръководител на проекти за ИТ услуги и, последно, като служител по защита на данните. Неговото писане е публикувано от howtogeek.com, cloudsavvyit.com, tenterpriser.com и opensource.com. Дейв е евангелист на Linux и привърженик на отворен код.
Прочетете пълната биография