системд

Мастер јоурналцтл разуме системске дневнике

Мастер јоурналцтл разуме системске дневнике
Системд је нова услуга управљања алатима. Првобитно креиран од стране Ред Хат-а, омогућава боље управљање услугама путем централизованог процеса који надгледа и покреће услуге по потреби. Али системд такође укључује систем контејнера, црон систем, начин за пружање привремених директоријума услугама на безбедан начин и систем за евидентирање - ту ћемо се овде фокусирати.

Разумевање евиденција је важно: ако икада паднете на сервер који има грешку или је хакован, углавном је ваш једини начин да схватите шта се догодило путем дневника. Главна апликација коју ћемо користити је јоурналцтл па отуда и назив чланка. Зато пажљиво слушајте као у прави дан, можда ћете бити срећни када сазнате како то функционише.

Где се чувају системски дневници? И у ком формату се чува?

Претпоставићемо да имате нормалан систем, јер системд може бити прилагођен да буде на изузетним местима. Такође, неке Линук дистрибуције попут Убунту 16.04 је подразумевано онемогућио трајно евидентирање, што спречава системд да правилно ради свој посао. Ако имате такву дистрибуцију, уредите / етц / системд / јоурналд.цонф датотеку, промените Стораге = ауто у Стораге = персистент и на крају, поново покрените.

Тако ћете нормално наћи датотеке дневника системд у / вар / лог / јоурнал. Систем дневника је сам по себи услуга која се назива систем-јоурналд.услуга.  Покушајмо да наведемо датотеке у овом директоријуму:

# лс / вар / лог / јоурнал / -Р
/ вар / лог / јоурнал /:
15е43ц1734090ац7фбеа6б40фцд99д31
 
/ вар / лог / јоурнал / 15е43ц1734090ац7фбеа6б40фцд99д31:
систем @ а39да368947бд2ба-231ф9бфц18а7а356.часопис ~
систем @ 62ац1299826д036цб043д6ц06а9493б7-0000000000000001-00067д6410099а19.часопис
усер-1000 @ б27е98812223а9бц-387е0521703ф73д9.часопис ~
усер-1000 @ 2123бц076б58569фе1фб13е9дбц1б0е0-0000000000000001-0007фе36ац2810е0.часопис
корисник-1000.часопис
[пуно других датотека попут оних горе ...]

Пошто желим да наставите да читате, морао сам да скратим излаз јер садржи много датотека (у мом примеру више од 60 датотека), извините на томе! Можда у искушењу да отворим један?

# хеад --битес = 512 / вар / лог / јоурнал / 15е43ц1734090ац7фбеа6б40фцд99д31 / [емаил протецтед]
б58569фе1фб13е9дбц1б0е0-0000000000000001-0007фе36ац2810е0.часопис
?с, к?н / ФЛз???Улз?л?]????
?_?б???з????о?и1КН ?и?еО??В?у?  ?=?к0?Л?д?7??Кс4н #?е? д3л?
стр??о | МФО:?!кс?.тК??Р?\??1?| 5  ????$?г??#?С??;??Б7???????т???И????мН?к????ЗК
?Ив?е?????БД?Ц?? вФ??д |
?2?? 7???????[??Ун?= 8????ц?2 = п?&?"   ?0
????*????_??  ???
5?????ик?Г? ?6?|. |??у??в: # 12?И??
3 ТУ;???'?јКс??2?Икс'?=??[[емаил заштићен]
[емаил заштићен]?_?>??3С???,лР?.?$?г?Л???с?/ Е??М1??к???

Хеј, видите, то заправо не личи на уобичајене датотеке дневника које видите тачно? Не брините, ова датотека није оштећена, управо сте открили аспект системд: системд складишти датотеке у бинарном формату. Због тога је што је могуће мањи: структурирани подаци попут времена или локације чувају се равно у бинарном облику, што обично траје мање бајтова него текст. Али то није једини разлог.

системд не чува само редове дневника. Његова је намера да олакша надзор и истраживање трупаца. Да би помогли у овом задатку, поруке дневника су уствари ред текста праћени подацима као што су тежина дневника (упозорење, грешка итд.).), или чак поља која би била корисна само за вашу апликацију (на пример, тражена УРЛ адреса).

# јоурналцтл --оутпут = вербосе --алл
ПРИОРИТЕТ = 6
_УИД = 0
_ГИД = 0
_ЦАП_ЕФФЕЦТИВЕ = 3ффффффффф
_БООТ_ИД = ее4цц2це7е8273ааффб5фц59ц873це7б
_МАЦХИНЕ_ИД = бц422е0феааб64бб7дд218ц24е6830е5
_ХОСТНАМЕ = линук
СИСЛОГ_ФАЦИЛИТИ = 3
СИСЛОГ_ИДЕНТИФИЕР = системд
ЈЕДИНИЦА = днф-макецацхе.услуга
_ТРАНСПОРТ = часопис
_ПИД = 1
_ЦОММ = системд
_ЕКСЕ = / уср / либ / системд / системд
_ЦМДЛИНЕ = / уср / либ / системд / системд --свитцхед-роот --систем - десериализе 76
_СИСТЕМД_ЦГРОУП = / инит.Обим
_СИСТЕМД_УНИТ = инит.Обим
_СИСТЕМД_СЛИЦЕ =-.кришка
_СЕЛИНУКС_ЦОНТЕКСТ = систем_у: систем_р: инит_т: с0
ЦОДЕ_ФИЛЕ = срц / цоре / јоб.ц
ЦОДЕ_ЛИНЕ = 795
ЦОДЕ_ФУНЦТИОН = порука_датотеке_посла_послуга
МЕССАГЕ_ИД = а76е08846ф5ф0971371дбб11126е62е1
ПОРУКА = Покренут днф макецацхе.
# јоурналцтл --цаталог --линес = 3000 --пагер-енд "_ТРАНСПОРТ = кернел" РЕЗУЛТАТ = готово
_СОУРЦЕ_РЕАЛТИМЕ_ТИМЕСТАМП = 1532886335471422

Рекао сам вам да постоји пуно поља (овде постоји 25 поља или 29 временских ознака које броје), сви горњи исечци су само за једну поруку дневника! Велика предност је та што можете покренути претрагу филтрирањем било ког поља у овој поруци дневника. Ово вам заиста омогућава напредно филтрирање.

Један од најочигледнијих филтера који бисте желели је филтрирање према услузи. Као што видите горе, постоји поље УНИТ тако да можете лако филтрирати да бисте добијали само евиденцијске поруке од једне услуге. О томе ћу вам рећи нешто касније.

Али ова количина података значи и нешто друго: у готово свим случајевима датотеку дневника никада нећете отворити ручно и никада нећете додирнути директоријум / вар / лог / јоурнал. Јоурналцтл ћете користити за било који задатак везан за евидентирање. Не постоји таква ствар ротације дневника, све се управља временом поруке дневника.

Такође, број поља ће зависити од тога колико је добра интеграција системд у вашој апликацији. Што више поља садржи порука дневника, то је боље. За основне системске услуге, системд се већ побринуо за добру интеграцију, али за остале апликације и услуге, квалитет интеграције много варира. Нормално, ово би с временом требало да се побољша када се људи навикну на систем.

У реду, сада је време да откријемо карактеристике јоурналцтла.

Најчешће коришћене команде за јоурналцтл

Прва наредба коју бисте можда требали погледати је она која приказује дневнике Линук језгра. Да, системд такође рукује складиштењем дневника језгра, тако да можете добити и дневнике претходних чизама. Ево наредбе:

# јоурналцтл --цаталог --линес = 3000 --пагер-енд "_ТРАНСПОРТ = кернел"

Приказује вам пејџер где можете да видите последње поруке. Можете се померити до последњих 3.000 редова помоћу тастера са стрелицама (↑ / ↓) или Паге Уп / Паге Довн. Ознака -цаталог налаже јоурналцтл-у да приказује контекст око линија дневника, слично поновном покретању рачунара или, у другим контекстима, заустављању / покретању услуге. Увек стављам ову заставицу јер је контекст увек важан, помаже да се зна у којој се ситуацији појавила линија евиденције, тако да можете погодити зашто сте добили ову линију дневника.

Сада, можда желите да видите само редове евиденције из тренутног покретања:

# јоурналцтл --цаталог --линес = 35000 --пагер-енд --боот "_ТРАНСПОРТ = кернел"

Имајте на уму да аргумент -боот командне линије ради у свим ситуацијама, не само са дневницима кернела. Ако више волите да кренете од почетка:

# јоурналцтл --цаталог --боот "_ТРАНСПОРТ = кернел"

Не знам да ли је то случај са вама, али имам доста дневника кернела! А шта је са општим прегледом ваше машине?

# јоурналцтл --цаталог --линес = 3000 --пагер-енд

Вау, пуно се ствари догађа на вашем систему! Овде би било корисно мало филтрирања. Један од најчешће коришћених филтера је подударање одређене услуге (попут вашег ССХ сервера или ХТТП сервера), назив датотеке системске јединице за ССХ услугу је ссхд.услуга, па:

# јоурналцтл --цаталог --линес = 3000 --пагер-енд --унит = ссхд.услуга

То је у реду, зар не?? Па, корисно је само ако знате назив услуге - али у великом броју случајева не знате име те услуге. Ако сте у таквој ситуацији, можда ћете желети списак услуга, њихове описе и њихов статус:

# системцтл лист-унитс --типе = услуга

У реду, овај проблем је сада решен. Али понекад имате поруку о грешци коју добијате од спољног система, попут сопствене веб локације или од апликације на радној површини. Дакле, вероватно ћете желети да претражите одређену реч или реченицу у поруци дневника. Од системд в237, то је сада могуће.

У јоурналцтл, претрага не разликује велика и мала слова ако је реч коју претражујете написана малим словима. Дакле, ако претражите реч порт, она ће такође претражити реч порт великим словима. Пример:

# јоурналцтл --цаталог --линес = 3000 --пагер-енд --греп = "порт"

Ако претражите реч попут ЦПУ, претраживаће само ЦПУ са великим словима, неће претраживати процесор.

# јоурналцтл --цаталог --линес = 3000 --пагер-енд --греп = "ЦПУ"

Сећате се поруке о грешци са спољног система? Генерално, ове поруке садрже временску ознаку. Да бисте филтрирали поруку дневника, можда ћете желети да користите тај временски жиг. јоурналцтл вам може навести све поруке дневника од одређеног датума и времена са аргументом -синце:

# јоурналцтл --цаталог --синце = "2018-07-30 09:30:00"

Ако је тај спољни систем удаљен или користи временске ознаке УТЦ, желећете филтрирати на основу УТЦ-датума и времена и приказати на терминалу временске ознаке УТЦ, тако да не морате то претварати у својој глави, што обично изгледа заиста збуњујуће. Да бисте то урадили, мораћете да додате УТЦ после временског низа у аргументу -синце. Тада ћете морати да додате заставицу -утц. Тако, на пример:

# јоурналцтл --цаталог --синце = "2018-07-30 10:45:00 УТЦ" --утц

Имајте на уму да можете користити само заставицу -утц, у овом случају ће у основи приказивати све датуме и времена у УТЦ временској зони.

# јоурналцтл --цаталог --линес = 3000 --пагер-енд --утц

Дневницима се боље управља помоћу јоурналцтл

Као што можете видети са свим претходним командама, системд вођење дневника олакшава филтрирање и олакшава отклањање грешака јер можете одабрати кроз све редове дневника помоћу једне команде, јоурналцтл. Неки од вас су вероватно знали давна времена у којима сте морали ручно да отворите сваку датотеку у / вар / лог да бисте имали општу идеју о проблему и о ономе што се догодило. Уз све савете које сте овде научили, поседоћете солидне алате за преглед порука дневника онако како ВИ то желите.

СуперТукКарт за Линук
СуперТукКарт је сјајан наслов дизајниран да вам пружи Марио Карт искуство бесплатно на вашем Линук систему. Прилично је изазовно и забавно играти, диз...
Водич за битку за Веснотх
Битка за Веснотх је једна од најпопуларнијих стратешких игара отвореног кода које тренутно можете играти. Не само да је ова игра у развоју већ јако ду...
0 А.Д. Приручник
Од многих стратешких игара тамо, 0 А.Д. успева да се истакне као свеобухватан наслов и врло дубока, тактичка игра упркос томе што је отворен извор. Ра...