lnav - Watch u Analizza Apache Logs minn Terminal Linux


Anqas minn ġimagħtejn ilu, l-attakk tar-ransomware Wannacry kkomprometti eluf ta’ kompjuters, u kkawża telf konsiderevoli lil kumpaniji kbar u individwi bl-istess mod. Li, flimkien ma' vulnerabbiltajiet mifruxa oħra misjuba f'dawn l-aħħar snin (bħall-bug Shellshock), jenfasizzaw l-importanza li tibqa 'fuq is-sistemi kritiċi tal-missjoni tiegħek.

Għalkemm il-vulnerabbiltajiet spiss jimmiraw għal sistema operattiva waħda speċifika jew komponent tas-softwer, l-eżami tat-traffiku li jidħol u joħroġ min-netwerk tiegħek jista 'jkun ta' għajnuna sinifikanti biex tipproteġi l-assi li inti responsabbli għalihom.

Kif jien ċert li diġà taf, ir-reġistri tas-sistema huma l-ewwel post fejn għandna nfittxu din l-informazzjoni. Biex tagħmel dan il-kompitu aktar faċli, f'dan l-artikolu se nispjegaw kif tinstalla u tuża lnav, telespettatur avvanzat tal-fajl log. B'lnav, tkun tista' tara diversi tipi ta' zkuk fl-istess ħin, tinnaviga fil-fajl billi tuża hotkeys, u tiġġenera istogramma fil-qosor ta' aċċessi u żbalji. Mela kompli aqra!

Installazzjoni u Tnedija ta' lnav fil-Linux

Biex tinstalla lnav, uża s-sistema ta' ġestjoni tal-pakketti tad-distribuzzjoni tiegħek.

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

Ladarba l-installazzjoni tkun kompluta, nieda lnav segwit mill-mogħdija assoluta għad-direttorju fejn jinsabu r-zkuk li għandhom jiġu eżaminati. Peress li dan ikun tipikament /var/log, ejja nagħmlu:

# lnav /var/log/httpd

biex tispezzjona r-zkuk tas-server tal-web Apache f'CentOS 7:

Ejja neżaminaw fil-qosor l-output muri fl-immaġni ta 'qabel:

  • Ir-rokna ta' fuq tal-lemin turi l-fajls li qed jiġu spezzjonati bħalissa (access_log-20170519 u access_log). Hekk kif tiskrollja 'l isfel jew 'il fuq, tinnota li l-ismijiet tal-fajls jistgħu jinbidlu hekk kif tmur minn wieħed għall-ieħor.
  • Tweġibiet HTTP 40x (pereżempju, Mhux misjuba jew Ipprojbit) jintwerew b'tipa grassa, filwaqt li tweġibiet 20x jintwerew f'test regolari.
  • L-indirizzi tal-IP jidhru b'tipa grassa aħdar.

Li ċertament jidher sabiħ, hux? Imma ejja nħaffru ftit aktar fil-fond issa, u naraw li l-lnav jipprovdi ħafna aktar minn output ikkulurit pjuttost.

Jekk int kurjuż għaliex ma jintwerewx zkuk tal-iżbalji, issib it-tweġiba aktar tard f'dan l-artikolu. Mela kompli aqra!

Timmodifika l-Output b'Għażliet u Hotkeys

Qabel ma nipproċedu aktar, ejja nsemmi ftit hotkeys li jippermettulna nimxu permezz tal-output ta 'lnav u l-veduti disponibbli aktar faċilment:

  • e jew E biex taqbeż għall-messaġġ ta' żball li jmiss/qabel.
  • w jew W biex taqbeż għall-messaġġ ta' twissija li jmiss/qabel.
  • b jew Backspace biex timxi għall-paġna ta' qabel.
  • Spazju biex timxi għall-paġna li jmiss.
  • g jew G biex timxi lejn in-naħa ta' fuq/ta' isfel tal-veduta attwali.

Meta zkuk jiġu mdawra, fajls qodma jistgħu jiġu kkompressati (jew le) skont is-settings speċifikati fil-fajls tal-konfigurazzjoni logrotate. Biex tinkludi fajls kompressati fl-output, iniedi lnav kif ġej:

# lnav -r /var/log/httpd

Jekk trid tagħti ħarsa aktar mill-qrib lejn il-mod kif jopera l-lnav, tista’ tniedi l-programm bl-għażla -d segwita minn isem tal-fajl fejn tinkiteb l-informazzjoni tad-debug, bħal hekk:

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

F'dan l-eżempju, l-informazzjoni tad-debug li tiġi ġġenerata meta l-lnav jibda se tinkiteb f'fajl bl-isem lnav.txt fid-direttorju tax-xogħol kurrenti.

L-ewwel ftit linji ta 'dak il-fajl huma murija fl-immaġni li ġejja:

It-test enfasizzat jindika li lnav għabbi l-fajl tal-formati default u, b'mod aktar speċifiku, il-format access_log biex janalizza r-reġistru tal-aċċess Apache. Barra minn hekk, lnav jippermetti li tiġi analizzata kull linja tal-ħruġ sabiex l-output isir aktar faċli biex jiġi viżwalizzat u mifhum.

Biex tuża din il-karatteristika, iniedi l-programm u agħżel il-linja li trid teżamina. Il-linja magħżula hija dejjem dik fil-quċċata tat-tieqa. Imbagħad agħfas p u għandek tara r-riżultat li ġej:

Biex terġa' lura għall-mod normali, agħfas mill-ġdid p.

Issa, jekk trid tara sommarju tar-zkuk skond id-data u l-ħin, agħfas i. Pereżempju, it-test enfasizzat jindika li nhar it-Tnejn, 10 ta' April, bejn l-10 u l-11 pm, kien hemm 37 talba HTTP b'14 li rriżultaw fi żbalji.

Ladarba tkun identifikat problema potenzjali bbażata fuq l-istogramma kif muri hawn fuq, tista 'tagħfas i biex toħroġ mill-veduta biex teżaminaha f'aktar dettall billi tuża l-parser kif spjegat qabel. Jew tista 'wkoll tuża l-kapaċitajiet SQL integrati billi ttajpja punt virgola u tikteb mistoqsija standard. Per eżempju, agħmel:

;.schema

biex tara t-tabelli disponibbli fl-iskema tad-database. Wara li tidentifika t-tabella t-tajba (access_log fil-każ tagħna), ejja nagħfas q u mbagħad uża l-mistoqsija li ġejja biex tirritorna l-informazzjoni kollha disponibbli dwar it-talbiet li ġejjin minn 195.154.230.31:

;SELECT * FROM access_log WHERE c_ip='195.154.230.31'

Innota li nistgħu wkoll niffiltraw ir-riżultati minn log_time. Il-punt hu, daħħal ftit SQL u s-sema huwa l-limitu ta 'dak li tista' tagħmel bl-lnav.

Formati Default Log Apache

Bosta formati ta' log huma mgħobbija awtomatikament bl-lnav u għalhekk jiġu analizzati mingħajr l-intervent tagħna. Tista' tara l-lista fit-taqsima tal-Formats ta' Log fid-dokumentazzjoni uffiċjali.

Formati default huma speċifikati f'~/.lnav/formats/default/default-formats.json.sample, u oħrajn jistgħu jiġu miżjuda ~/.lnav/formats bl-użu tal-estensjoni .json.

Madankollu, l-editjar ta' dawn il-fajls jeħtieġ ċertu grad ta' familjarità ma' JSON (Javascript Object Notation) u mal-librerija PCRE (Perl-Compatible Regular Expressions).

Allura għaliex lnav ma weriex il-fajls tal-log tal-iżbalji Apache? Ir-raġuni hija li dawk ir-zkuk ma jaqblux ma 'ebda espressjoni regolari fil-fajls tal-format eżistenti, u għalhekk huma ttrattati bħala fajls ta' test regolari (jiġifieri fajls mingħajr format ta 'log partikolari).

Kif issemma qabel, tista 'toħloq il-formati tiegħek ladarba tkun tal-inqas kemmxejn familjari ma' JSON u PCRE. Dan jista' jkun utli, pereżempju, jekk iddefinijt zkuk tad-dwana tal-Apache.

Għalkemm użajna r-reġistru tal-aċċess Apache biex nuru kif tuża l-nav, żomm f’moħħok li hemm diversi tipi oħra ta’ zkuk li jistgħu jitqiesu u jiġu analizzati bl-użu ta’ din l-għodda. Jekk l-għodda ma tirrikonoxxix log speċifiku, tista 'toħloq formati addizzjonali u tinstallahom wara l-indikazzjonijiet ipprovduti hawn.

Għandek xi mistoqsijiet jew kummenti dwar dan l-artikolu? Bħal dejjem, tħossok liberu li tgħarrafna billi tuża l-formola hawn taħt. Aħna ħerqana li nisimgħu mingħandek!