Как да използвате journalctl за четене на системни регистрационни файлове на Linux

Прозорец на терминал на лаптоп с Linux

Фатмавати Ахмад Заенури/Shutterstock



Системното регистриране на Linux се промени с въвеждането на |_+_|. Научете как да използвате |_+_| команда за четене и филтриране на съобщения в системния дневник.

Централизирано регистриране

Не е чужд на противоречия, |_+_| системен и сервизен мениджър въведе значителна промяна в начина, по който се събират системните регистрационни файлове. Дневниците се намираха на различни места във файловата система в зависимост от услугата или демона, който ги създава. Но всички те имаха едно общо нещо. Те бяха обикновени текстови файлове.





С |_+_| всички регистрационни файлове на системата, зареждането и ядрото се събират и управляват от централно, специално решение за регистриране. Форматът, в който се съхраняват, е двоичен. Едно нещо, което улеснява, е възможността за извличане на данните в различни формати, като напр JSON , както ще видим.

може също така да улесни кръстосаното препращане на свързана информация, която преди това е била записана в отделни регистрационни файлове. Тъй като данните вече се съхраняват в едно списание, данните от няколко източника на интерес могат да бъдат избрани и показани в един преплетен списък от записи.



|_+_| е инструментът работил със списанието .

journalctl Без излишни излишъци

Можете да извикате |_+_| без параметри на командния ред:

systemd



|_+_| показва целия дневник, като най-старите записи са в горната част на списъка. Списъкът се показва в |_+_|, което ви позволява да прелиствате и търсите с помощта на обичайните функции за навигация на |_+_|. Можете също да използвате |_+_| и |_+_| клавиши за превъртане настрани, за да прочетете широки записи в дневника.

Натискане на |_+_| key ще скочи направо до края на списъка и най-новите записи в дневника.

Натиснете |_+_| за излизане.

СВЪРЗАНИ: Как да използвате командата less в Linux

Въпреки че |_+_| може да бъде извикан без използване на |_+_|, ще се уверите, че виждате всички детайли в дневника, ако използвате |_+_|.

journalctl

Ако трябва, можете да направите |_+_| изпратете изхода си към прозореца на терминала вместо към |_+_|, като използвате |_+_| опция.

systemd

Изходът превърта бързо през прозореца на терминала и вие се връщате в командния ред.

За да ограничите броя на редовете, които |_+_| връща, използвайте |_+_| опция (линии). Нека поискаме десет изходни реда:

systemd

След актуализации на списанието

За да направите |_+_| покажете най-новите записи, когато пристигнат в дневника, използвайте |_+_| (следвайте) опция.

journalctl

Реклама

Най-новият запис има времева марка 07:09:07. Когато се извършва нова дейност, новите записи се добавят в долната част на дисплея. Актуализации почти в реално време – страхотно!

В 07:09:59 приложение, наречено |_+_| инжектира запис в дневника в дневника, който казваше, Ново съобщение от HTG.

Промяна на формата на дисплея

Тъй като дневникът е двоичен файл, данните в него трябва да бъдат преведени или анализирани в текст, преди да могат да ви бъдат показани. С различни анализатори могат да бъдат създадени различни изходни формати от едни и същи двоични изходни данни. Има няколко различни формата, които |_+_| може да използва.

Изходът по подразбиране е краткият формат, който е много подобен на класическия формат на системния журнал. За да заявите изрично краткия формат, използвайте |_+_| (изход) опция с |_+_| модификатор.

journalctl

Отляво надясно полетата са:

  • Часът на създаване на съобщението в местно време.
  • Името на хоста.
  • Името на процеса. Това е процесът, който генерира съобщението.
  • Съобщението в дневника.

За да получите пълен печат за дата и час, използвайте |_+_| модификатор:

journalctl

Форматите за дата и час в този изход са форматът, в който трябва да предоставите дати и часове, когато избирате регистрационни съобщения по период, както ще видим скоро.

Реклама

За да видите всички метаданни, които придружават всяко съобщение в дневника, използвайте |_+_| модификатор.

less

Там са много възможни полета , но рядко се случва всички полета да присъстват в съобщението.

Едно поле, което си струва да се обсъди, е |_+_| поле. В този пример той има стойност 6. Стойността представлява важността на съобщението:

    0: Спешен случай. Системата е неизползваема. един: Тревога. Беше маркирано състояние, което трябва да бъде коригирано незабавно. две: Критично. Това обхваща сривове, coredump и значителни повреди в основни приложения. 3: Грешка. Съобщава се за грешка, но не се счита за тежка. 4: Внимание. Предоставя на вашето внимание условие, което, ако бъде пренебрегнато, може да се превърне в грешка. 5: Забележете. Използва се за докладване на събития, които са необичайни, но не и за грешки. 6: Информация. Редовни оперативни съобщения. Те не изискват действие. 7: Отстраняване на грешки. Съобщенията се поставят в приложенията, за да им е по-лесно да ги отстраняват.

Ако искате изходът да бъде представен като правилно оформен Нотация на обекти на 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 команди
Файлове катран · pv · котка · такт · chmod · сцепление · разл · sed · С · човек · pushd · popd · fsck · тестов диск · сек · fd · пандока · CD · $PATH · awk · присъединяване · jq · сгънете · уникален · journalctl · опашка · състояние · ls · fstab · изхвърли · по-малко · chgrp · chown · rev · виж · струни · Тип · преименувайте · цип · разархивирайте · монтиране · umount · Инсталирай · fdisk · mkfs · rm · rmdir · rsync · df · gpg · ние · нано · mkdir · от · вътрешен · кръпка · преобразувам · rclone · накъсайте · SRM
процеси псевдоним · екран · връх · хубаво · renice · напредък · strace · система · tmux · chsh · история · в · партида · Безплатно · който · dmesg · потребителски мод · п.с · chroot · xargs · tty · мизичко · lsof · vmstat · изчакване · стена · да · убиват · сън · sudo · неговата · време · groupadd · потребителски мод · групи · lshw · изключвам · рестартирайте · Спри се · изключване · passwd · lscpu · crontab · дата · bg · fg
Работа в мрежа netstat · пинг · трасиране · ip · ss · кой е · fail2ban · bmon · Вие · пръст на ръката · nmap · ftp · къдрица · wget · Кой · кой съм аз · В · iptables · ssh-keygen · ufw

СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти

ПРОЧЕТЕТЕ СЛЕДВАЩО Снимка на профила на Дейв Маккей Дейв Маккей
Дейв Маккей за първи път използва компютри, когато перфорираната хартиена лента беше на мода и оттогава той програмира. След повече от 30 години в ИТ индустрията, той вече е технологичен журналист на пълен работен ден. По време на кариерата си той е работил като програмист на свободна практика, мениджър на международен екип за разработка на софтуер, ръководител на проекти за ИТ услуги и, последно, като служител по защита на данните. Неговото писане е публикувано от howtogeek.com, cloudsavvyit.com, tenterpriser.com и opensource.com. Дейв е евангелист на Linux и привърженик на отворен код.
Прочетете пълната биография

Интересни Статии