lnav - Linux terminalyndan Apache surnallaryny görüň we derňäň


Iki hepde geçmänkä, “Wannacry” töleg programma üpjünçiligi hüjümi müňlerçe kompýutere zyýan ýetirdi we uly kompaniýalara we şahsyýetlere ep-esli ýitgi çekdi. Soňky ýyllarda ýüze çykan beýleki giňden ýaýran gowşak goralanlyklar bilen bir hatarda (“Shellshock bug”), möhüm wezipe ulgamlaryňyzyň üstünde durmagyň möhümdigini görkezýär.

Gowşaklyklar köplenç belli bir operasiýa ulgamyny ýa-da programma üpjünçiligini nyşana alsa-da, toruňyza girýän we çykýan traffigi barlamak jogapkärçiligiňizi goramak üçin möhüm kömek bolup biler.

Siziň eýýäm bilýändigiňize ynanýaryn, ulgam maglumatlary bu maglumatlary gözlemeli ilkinji ýerimizdir. Bu meseläni aňsatlaşdyrmak üçin, bu makalada ösen gündelik faýl görüjisi lnav-y nädip gurmalydygyny we ulanmalydygyny düşündireris. “Lnav” bilen bir wagtyň özünde birnäçe görnüşli gündelige tomaşa edip bilersiňiz, “hotkeys” -i ulanyp faýlda gezip bilersiňiz we girişleriň we ýalňyşlyklaryň umumylaşdyrylan gistogrammasyny döredip bilersiňiz. Şonuň üçin okaň!

Linux-da lnav gurmak we işe girizmek

Lnav gurmak üçin paýlanyşyňyzyň paket dolandyryş ulgamyny ulanyň.

# aptitude install lnav          [Debian and derivatives]
# yum install epel-release lnav  [CentOS 7 and similar]

Gurmak tamamlanandan soň, gözden geçirilmeli surnallaryň ýerleşýän katalogyna mutlak ýol bilen lnav işe giriziň. Munuň adatça /var/log boljakdygy sebäpli, geliň:

# lnav /var/log/httpd

CentOS 7-de Apache web serweriniň gündeligini barlamak üçin:

Öňki suratda görkezilen çykyşy gysgaça gözden geçireliň:

  • rightokarky sag burçda häzirki wagtda barlanylýan faýllar görkezilýär (access_log-20170519 we access_log). Aşak ýa-da ýokaryk aýlanyňyzda, faýl atlarynyň biri-birine geçip barýarka üýtgäp biljekdigini görersiňiz.
  • 40x HTTP jogaplary (mysal üçin, Tapylmady ýa-da Gadagan edilmedi) goýy harp bilen görkezilýär, 20x jogap yzygiderli tekstde görkezilýär.
  • IP adresleri goýy ýaşyl reňkde görünýär.

Elbetde, gaty gowy görünýär, şeýlemi? Nowöne indi biraz çuňňur gazalyň we lnawyň owadan reňkli önümlerden has köp zady üpjün edýändigini göreris.

Erroralňyşlyk ýazgylarynyň näme üçin görkezilmeýändigi bilen gyzyklanýan bolsaňyz, jogaby bu makalada soň tapyp bilersiňiz. Şonuň üçin okaň!

Görnüşi opsiýalar we Hotkeys bilen üýtgetmek

Has öňe gitmezden ozal, lnawyň çykyşyndan we elýeterli görnüşlerden has aňsat geçmäge mümkinçilik berjek birnäçe düwmäni sanap geçeliň:

    indiki/öňki säwlik habaryna geçmek üçin e ýa-da E . indiki/öňki duýduryş habaryna geçmek üçin w ýa-da W . Öňki sahypa geçmek üçin b ýa-da Arka giňişligi .
  • Indiki sahypa geçmek üçin boş ýer.
  • Häzirki görnüşiň ýokarsyna/aşagyna geçmek üçin g ýa-da G .

Surnallar aýlananda, logrotate konfigurasiýa faýllarynda görkezilen sazlamalara baglylykda köne faýllar gysylyp bilner (ýa-da ýok). Gysylan faýllary çykyşa goşmak üçin lnav-y aşakdaky ýaly işe giriziň:

# lnav -r /var/log/httpd

Lnav-yň işleýşine has içgin göz aýlamak isleseňiz, programmany -d opsiýasy bilen başlap bilersiňiz, soňra düzediş maglumatlary ýazyljak faýl ady bilen, şeýle:

# lnav /var/log/httpd -d lnav.txt

Bu mysalda, lnav başlanda döredilen düzediş maglumatlary häzirki iş bukjasynyň içinde lnav.txt atly faýla ýazylar.

Şol faýlyň ilkinji setirleri aşakdaky suratda görkezilýär:

Aýdylan tekst, lnav-yň deslapky formatlar faýlyny we has takygy, Apache giriş gündeligini derňemek üçin access_log formatyny ýükländigini görkezýär. Mundan başga-da, lnav çykyşy görmek we düşünmek aňsat bolar ýaly her çykyş setirini derňemäge mümkinçilik berýär.

Bu aýratynlygy ulanmak üçin programmany işe giriziň we derňemek isleýän setiriňizi saýlaň. Saýlanan setir elmydama penjiräniň ýokarsyndadyr. Soňra p basyň we aşakdaky netijäni görmeli:

Adaty tertibe gaýdyp gelmek üçin p basyň.

Indi, sene we wagt boýunça surnallaryň gysgaça mazmunyny görmek isleseňiz, i basyň. Mysal üçin, bellenen tekst 10-njy aprelde, duşenbe güni agşam 10-dan 11-e çenli, 37 sany HTTP haýyşynyň bardygyny, 14-sinde ýalňyşlyklaryň bardygyny görkezýär.

Aboveokarda görkezilişi ýaly gistogramma esaslanýan potensial meseläni kesgitläniňizden soň, ozal düşündirilişi ýaly derňewçini ulanyp has jikme-jik öwrenmek üçin görnüşden çykmak üçin i basyp bilersiňiz. Ora-da nokat belgisini ýazyp we adaty talap ýazmak bilen gurlan SQL mümkinçiliklerini ulanyp bilersiňiz. Mysal üçin:

;.schema

maglumat bazasynyň shemasynda bar bolan tablisalary görmek üçin. Dogry tablisany kesgitlänimizden soň (geliň, giriş_log), q basalyň we 195.154.230.31-den gelýän haýyşlar barada bar bolan maglumatlary yzyna gaýtarmak üçin aşakdaky talapdan peýdalanyň:

;SELECT * FROM access_log WHERE c_ip='195.154.230.31'

Netijeleri log_time arkaly süzüp biljekdigimize üns beriň. Esasy zat, azajyk SQL atyň we lnav bilen näme edip boljakdygyňyzyň asmanyň çägi.

Apache deslapky hasaba alyş formatlary

Köp sanly gündelik formatlary lnav bilen ýüklenýär we şeýlelik bilen biziň goşulyşmazdan derňelýär. Sanawy resmi resminamalarda “Log Formats” bölüminde görüp bilersiňiz.

Bellenen formatlar ~/.lnav/formatlar/default/default-formats.json.sample görnüşinde görkezilýär, beýlekileri .json giňeltmesini ulanyp ~/.lnav/formatlary goşup bolýar.

Şeýle-de bolsa, bu faýllary redaktirlemek JSON (Javascript Object Notation) we PCRE (Perl-Compatible Regular Expressions) kitaphanasy bilen belli bir derejede tanyşlygy talap edýär.

Onda näme üçin lnav Apache säwlik ýazgy faýllaryny görkezmedi? Munuň sebäbi, bu ýazgylaryň bar bolan format faýllaryndaky yzygiderli aňlatmalara gabat gelmeýänligi we şeýlelik bilen adaty tekst faýllary (berlen log formaty bolmadyk faýllary aňladýar).

Öň bellenip geçilişi ýaly, JSON we PCRE bilen iň bolmanda birneme tanyş bolanyňyzdan soň öz formatlaryňyzy döredip bilersiňiz. Mysal üçin, adaty Apache surnallaryny kesgitlän bolsaňyz, bu peýdaly bolup biler.

“Lnav” -y nädip ulanmalydygyny görkezmek üçin “Apache” giriş gündeligini ulansak-da, bu guralyň kömegi bilen görüp we derňäp boljak başga-da birnäçe gündeligiň bardygyny ýadyňyzdan çykarmaň. Gural belli bir gündeligi tanamaýan bolsa, goşmaça formatlary döredip we şu ýerde görkezilen görkezmelere laýyklykda gurup bilersiňiz.

Bu makala hakda soraglaryňyz ýa-da teswirleriňiz barmy? Hemişe bolşy ýaly aşakdaky formany ulanyp bize habar beriň. Sizden eşitmäge sabyrsyzlyk bilen garaşýarys!