Командата journalctl е един от мощните инструменти в различни дистрибуции на Linux, който предоставя информация за състоянието на системата, Damone, единици или ядро. Всъщност, ако има грешка в системата, командата journalctl ще я открие като мощен диагностичен инструмент.

В тази статия от блога на Pars Pak обясняваме използването на journaltl за преглед, редактиране и преглед на системни отчети на Linux. Ако планирате да използвате тази команда или ако имате проблеми с прегледа на системните регистрационни файлове, останете с нас до края на тази статия.

Поглед към използването на командата journalctl в Linux

Софтуерът Systemd е услуга и инструмент за управление на системата на Linux. За извършване на различни процеси в системата Linux се използват различни инструменти и услуги (Daemon). Systemd journald предоставя решения, свързани с процесите на системното ядро ​​като централизиран отчет към журнала.

Всъщност Systemd journald събира изходните съобщения от системата и ги създава като журнали. Командата journalctl редактира и изпълнява данните, събрани от услугата за журнали. Като цяло може да се каже, че тази команда е инструмент за системни администратори на Linux за записване и редактиране на Syslog сървърни софтуерни решения.

Командата journalctl е като френски гаечен ключ за отстраняване на неизправности и коригиране на системни проблеми на Linux. Обхватът на приложението journalctl е такъв, че можете да го използвате от чесън до лук за отстраняване на неизправности и проверка на регистрационни файлове и ядро ​​на сървъра.

Каква е употребата на командата journalctl в Linux?

Проверете системния регистър

Една от важните характеристики на всяка система е възможността за проверка на нейния журнал. Командата journalctl може да се използва по няколко начина. Най-важната употреба на journalctl е да проверява системния журнал. За да направите това, просто извикайте командата journalctl в терминала. Можете да направите това, като натиснете едновременно Shift и PageUp или Shift и PageDown.

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

За да научите как да копирате файлове и папки в Linux с помощта на командата cp, прочетете следната статия.

Командата cp в Linux

Филтриране на системния журнал въз основа на времето

Като използвате един или повече филтри в командата journalctl, можете да идентифицирате по-точно системния проблем. Например, ако искате да намерите информация за част от системата за определен период от време, филтрирането ви помага да получите по-подробна информация вместо маса безполезна информация.

Да предположим, че искате да намерите вчерашни регистрационни файлове. Можете да направите това със следната команда:

journalctl --since yesterday

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

journalctl --since yesterday

Освен това можете да използвате две дати в една команда. Например, ако искате да посетите системния журнал на 28.02.2022 г. от 00:00 до 23:00 ч., въведете командата journalctl, както следва:

journalctl --since "2022-02-28 00:00:00" --until "2022-02-28 23:00:00"

Струва си да се отбележи, че можете също да добавите опцията -n, за да получите последните 10 записа в регистрационните файлове на systemd-journald.

Филтриране на системния журнал въз основа на единица или част от системата

Друга често срещана употреба на journalctl е да филтрирате въз основа на единицата или частта от системата, за която имате нужда от информация. За да направите това, просто използвайте командата journalctl -u. Например, ако искате да проверите дневника в секцията cronie.service, използвайте следната команда:

journalctl -u cronie.service

Също така можете да опитате тази команда с комбинирана дата и по-подробно търсене:

journalctl -u cronie.service --since yesterday

Филтриране на системни журнали въз основа на конкретен процес или група

Ако знаете точния идентификатор на процесите, протичащи в системата, можете да филтрирате по идентификатор с помощта на командата PID. Например командата journalctl за ID 8888 е както следва:

journalctl _PID=8888

Можете също да използвате командата _UID или _GID, за да филтрирате регистрационния файл въз основа на ИД на потребител или група.

Как да филтрирате системния журнал въз основа на процеса; Една от важните употреби на командата journalctl

Филтриране на системния журнал въз основа на местоположението на файла или пътя

Ако пътят, за който искате да проверите регистрационния файл, е файл, можете да направите това по пътя или местоположението на файла. Например, можете да въведете името на файла, както следва в командата journalctl:

journalctl /usr/bin/bash

Филтриране на системния журнал въз основа на приоритет

В прегледа на приложението journaltl можете също да филтрирате журнала въз основа на приоритет. Това означава, че използвайте командата journalctl за показване на съобщения с по-висок приоритет. Филтрирането въз основа на това е просто и просто въведете командата p-. По този начин съобщенията с по-нисък приоритет няма да се показват в изхода. Командата journaltl е дефинирала числена стойност въз основа на приоритета за всяка грешка, критично, предупредително или спешно съобщение, както следва:

0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug

Например, ако искате съобщенията за ниво на грешка да се показват по-късно, просто въведете следната команда:

journalctl -p err -b

Вземете регистрационния файл на ядрото на сървъра

Понякога трябва да проверите дали ядрото на сървъра работи правилно. След това коригирайте проблема или системната грешка по този начин. За да получите регистрационния файл на ядрото на сървъра, просто използвайте командата k-. Освен това, ако искате да получите информация за последното зареждане на ядрото, можете да използвате командата -b:

journalctl -b
journalctl -k

С това съобщение съобщенията на ядрото ще се появяват по подразбиране от момента на зареждане. За по-подробно търсене можете да комбинирате тази команда с другите команди, споменати по-горе. Например, ако искате да проверите съобщенията на ядрото за последните 6 зареждания, използвайте следната команда:

journalctl -k -b -6

Премахване на грешки в дневника на systemd

За да подобрите производителността на системата, трябва да изтриете ненужните файлове. За целта с помощта на инструмента Disk Usage Analyzer ще разберете колко място заема системният лог файл на диска. Регистрационните файлове се съхраняват в секцията var/log/journal. Ако не е необходимо да отстранявате грешки, можете да освободите много системно пространство, като изтриете регистрационните файлове. След това ще обясним как да направите това.

Отворете терминала и проверете мястото, запълнено със следната команда:

journalctl --disk-usage

За да изтриете дневника, трябва да преобразувате файловете на дневника в архивен режим, като използвате командата за завъртане:

sudo journalctl --rotate

След това, ако искате да изтриете старите регистрационни файлове от определен ден, например преди два дни, използвайте следната команда:

sudo journalctl --vacuum-time=2days

Освен това, ако искате да изтриете лог файла с определена сума, например 100 MB, използвайте следната команда:

sudo journalctl --vacuum-size=100M

Показване на конкретни формати в изхода

Можете да видите изхода в определен формат, като използвате командата journalctl. Синтаксисът на изходния формат, използващ тази команда, е както следва:

journalctl -o <output format>

Някои от изходните формати, които системата поддържа, са:

  • котка-: Показва полето за съобщение
  • износ-: Изход в двоичен формат, подходящ за архивиране
  • къс-: Изход, подобен на класическите Syslog файлове
  • кратко-точно-: Показване на времето в микросекунди
  • json-: Показване на записа в журналите като едноредови JSON записи
  • json-pretty-: Показване на линии като JSON структури

Например, ако искате да получите изхода в кратък формат, трябва да използвате следната команда:

journalctl -o short

Таблица за използване на команда Journalctl

поръчка описание

-всичко

Показване на всички печатаеми и непечатаеми файлове
-f

-последвам

Покажете последните записи и ги отпечатайте
–не-пълен Краткосрочен изход

– край на пейджър

Отидете до дъното на страницата
-n <число>

–редове=<номер>

Показва ограничен брой (10 аргумента по подразбиране) от най-новите записи
-o <формат>

–изход=<формат>

Показва записа в дневника в желания формат
– т.н Задава часа въз основа на световния часовник

– каталог

Добавя обяснителен текст към съобщението за доклад
-q

– тихо

Не показва неизползвани съобщения в изхода
-b ( или <+-отместване>)

–boot(= или <+-offset>)

Показва отчети от конкретен бот

–dmesg

Показва съобщения, свързани със сървърното ядро
–списък-ботуши Показва таблица с номера на зареждане и идентификатори
-g <регекс>

–grep=

Филтрира изхода въз основа на grep regex
-S <дата>, -U <дата>

–since=<дата>, –until=<дата>

Показва нови или стари записи от определена дата
-u <единица|модел>

–unit=<единица|модел>

Показва отчети по единици или шаблони
– използване на диск Показва количеството място за съхранение
–vaccuum-size=<размер> Архивира журналния файл по размер
–vaccuum-time=<време> Той архивира файла на дневника въз основа на времето

Заключение

Командата journalctl е ценен инструмент, който ще ви помогне да отстраните проблеми с Linux и да проверите за системни грешки. В тази статия от блога на Pars Pak разгледахме командата journalctl и нейното използване и обяснихме как да показваме, контролираме и управляваме регистрационните файлове на журнала systemd. Използвали ли сте някога командата journalctl? Споделете опита си с нас в секцията за коментари.

Често задавани въпроси

1. За какво се използва командата journalctl?

Командата journalctl се използва за търсене и показване на регистрационни файлове на журнали в системи. Услугата systemd съхранява журналните отчети в двоичен формат и след това journalctl синтаксисът ги чете.

2. Къде се намира дневникът на Linux?

По подразбиране дневникът съхранява данни в /run/log/journal/.

3. Как да извикате системни журнални файлове?

За да прочетете журнала на системния дневник, използвайте командата journalctl без опции.




0 دیدگاه

دیدگاهتان را بنویسید

Avatar placeholder

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *