Lnav - Lelee ma nyochaa ndekọ Apache site na Linux Terminal


N'ihe na-erughị izu abụọ gara aga, mwakpo Wannacry ransomware mebiri ọtụtụ puku kọmputa, na-akpata nnukwu mfu nye nnukwu ụlọ ọrụ na ndị mmadụ n'otu n'otu. Nke ahụ, yana adịghị ike ndị ọzọ zuru ebe niile achọtara n'afọ ndị na-adịbeghị anya (dị ka ahụhụ Shellshock), gosi mkpa ọ dị ịnọ n'elu sistemụ ozi gị dị oke mkpa.

Ọ bụ ezie na adịghị ike na-echekarị otu sistemụ arụmọrụ ma ọ bụ akụrụngwa ngwanrọ, nyocha okporo ụzọ na-abanye na netwọkụ gị nwere ike ịbụ nnukwu enyemaka iji chebe akụ ị na-ahụ maka ya.

Dị ka m ji n'aka na ị maralarị, ndekọ usoro bụ ebe mbụ anyị kwesịrị ịchọ ozi a. Iji mee ka ọrụ a dị mfe, n'isiokwu a, anyị ga-akọwa otu esi etinye na iji lnav, ihe nlele faịlụ log dị elu. Site na lnav, ị ga-enwe ike ilele ụdị ndekọ dị iche iche n'otu oge, jiri hotkey wee banye na faịlụ ahụ wee mepụta histogram nke ohere na mperi. Ya mere na-agụ!

Ịwụnye na ịmalite lnav na Linux

Iji wụnye lnav, jiri sistemụ njikwa ngwugwu nke nkesa gị.

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

Ozugbo echichi mechara, malite lnav na-esote ụzọ zuru oke na ndekọ ebe ndekọ a ga-enyocha. Ebe ọ bụ na nke a ga-abụkarị /var/log, ka anyị mee:

# lnav /var/log/httpd

inyocha ndekọ nke sava weebụ Apache na CentOS 7:

Ka anyị leba anya ná nkenke ihe egosipụtara na foto gara aga:

  • Nkuku aka nri elu na-egosi faịlụ ndị a na-enyocha ugbu a (access_log-20170519 na access_log). Ka ị na-atụgharị ala ma ọ bụ elu, ị ga-achọpụta na aha faịlụ nwere ike ịgbanwe ka ị na-esi n'otu n'otu gaa na nke ọzọ.
  • Nzaghachi HTTP 40x (dịka ọmụmaatụ, Achọtaghị ma ọ bụ Amachibidoro) ka egosiri n'atụghị egwu, ebe a na-egosipụta nzaghachi 20x na ederede oge niile.
  • Adreesi IP na-apụta na akwụkwọ ndụ akwụkwọ ndụ gbara ọchịchịrị.

N'ezie nke ahụ mara mma, ọ bụghị ya? Ma ka anyị gwuo ntakịrị ugbu a, anyị ga-ahụkwa na lnav na-enye ihe karịrị mmepụta agba mara mma.

Ọ bụrụ na ị na-achọ ịmata ihe kpatara na-egosighi ndekọ njehie, ị ga-ahụ azịza ya ma emechaa n'isiokwu a. Ya mere na-agụ!

Iji Nhọrọ na Hotkey na-emegharị mmepụta ahụ

Tupu anyị aga n'ihu, ka anyị depụta igodo ọkụ ole na ole ga-enyere anyị aka ịgafe na mmepụta nke lnav na nlele dịnụ n'ụzọ dị mfe:

  • e ma ọ bụ E ka ịwụba na ozi mperi ọzọ/nke gara aga.
  • w ma ọ bụ W ka ịwụba na ozi ịdọ aka na ntị nke ọzọ/gara aga.
  • b ma ọ bụ Backspace ka ịkwaga na ibe gara aga.
  • Oghere ịkwaga na ibe na-esote.
  • g ma ọ bụ G ka ịkwaga n'elu/ala nke nlele ugbu a.

Mgbe a na-atụgharị ndekọ, faịlụ ochie nwere ike ịpịkọta (ma ọ bụ na ọ bụghị) dabere na ntọala akọwapụtara na faịlụ nhazi logrotate. Iji tinye faịlụ abịakọrọ na mmepụta, malite lnav dị ka ndị a:

# lnav -r /var/log/httpd

Ọ bụrụ na ịchọrọ ilerukwu anya n'ụzọ lnav si arụ ọrụ, ị nwere ike ịmalite mmemme na nhọrọ -d na-esochi faịlụ aha ebe a ga-edegara ozi nbipu, dịka:

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

N'ihe atụ a, a ga-ede ozi nbipu nke ewepụtara mgbe lnav malitere na faịlụ aha ya bụ lnav.txt n'ime akwụkwọ ndekọ aha na-arụ ọrụ ugbu a.

A na-egosi ahịrị ole na ole mbụ nke faịlụ ahụ na foto a:

Edemede a kapịrị ọnụ na-egosi na lnav bujuru faịlụ nke ndabara yana, nke ka nke, usoro access_log iji kpachapụta ndekọ nnweta Apache. Na mgbakwunye, lnav na-enye ohere ịtụgharị ahịrị mmepụta nke ọ bụla ka mmepụta ahụ wee dịrị mfe ịhụ anya na ịghọta.

Iji jiri njirimara a, malite mmemme wee họrọ ahịrị ịchọrọ ịtụgharị. Ahịrị ahọpụtara bụ mgbe niile dị n'elu windo. Wee pịa p wee hụ nsonaazụ a:

Ka ịlaghachi na ọnọdụ nkịtị, pịa p ọzọ.

Ugbu a, ọ bụrụ na ịchọrọ ịhụ nchịkọta ndekọ site na ụbọchị na oge, pịa i. Dịka ọmụmaatụ, ederede a kapịrị ọnụ na-egosi na na Mọnde, Eprel 10, n'etiti elekere 10 na 11 nke abalị, enwere arịrịọ HTTP 37 yana 14 butere mperi.

Ozugbo ịchọtara nsogbu nwere ike dabere na histogram dị ka egosiri n'elu, ị nwere ike pịa i ka ịpụ na nlele iji nyochaa ya nke ọma site na iji parser dị ka akọwara na mbụ. Ma ọ bụ ị nwekwara ike iji ikike SQL arụnyere n'ime ya site n'ịpị ihe ọkara na ide ajụjụ ọkọlọtọ. Dịka ọmụmaatụ, mee:

;.schema

ilele tebụl ndị dị na schema nchekwa data. Mgbe achọpụtachara tebụl ziri ezi (access_log n'ọnọdụ anyị), ka anyị pịa q wee jiri ajụjụ a weghachi ozi niile dị maka arịrịọ sitere na 195.154.230.31:

;SELECT * FROM access_log WHERE c_ip='195.154.230.31'

Rịba ama na anyị nwekwara ike nyochaa nsonaazụ ya site na log_time. Isi ihe bụ, tụba ntakịrị SQL na mbara igwe nwere oke maka ihe ị ga-eji lnav mee.

Mpempe akwụkwọ ndebanye aha Apache

A na-eji lnav na-eju ọtụtụ usoro ndekọ aha na ndabara ma na-atụgharị ya na-enweghị enyemaka anyị. Ị nwere ike ịlele ndepụta ahụ na ngalaba Log Formats na akwụkwọ gọọmentị.

A na-akọwapụta ụdịdị ndabara na ~/.lnav/formats/default/default-formats.json.sample, yana ndị ọzọ enwere ike ịgbakwunye ~/.lnav/formats site na iji .json ndọtị.

Agbanyeghị, idezi faịlụ ndị a chọrọ nlebara anya nke ọma na JSON (Javascript Object Notation) yana ọbá akwụkwọ PCRE (Perl-Compatible Regular Expressions).

Yabụ kedu ihe kpatara lnav egosipụtaghị faịlụ ndekọ njehie Apache? Ihe kpatara ya bụ na ndekọ ndị ahụ adabaghị na okwu ọ bụla a na-ekwu mgbe niile na faịlụ usoro dị adị, yabụ a na-ewere ya dị ka faịlụ ederede oge niile (nke pụtara faịlụ na-enweghị usoro ndekọ).

Dịka e kwuru na mbụ, ị nwere ike ịmepụta usoro nke gị ozugbo ị maara JSON na PCRE opekata mpe. Nke a nwere ike ịba uru, dịka ọmụmaatụ, ọ bụrụ na ị kọwapụtala ndekọ Apache omenala.

Ọ bụ ezie na anyị na-eji ndekọ ohere Apache gosi otu esi eji lnav, buru n'uche na e nwere ọtụtụ ụdị ndekọ ndị ọzọ enwere ike ịlele na ịtụgharị site na iji ngwa a. Ọ bụrụ na ngwá ọrụ ahụ amataghị otu ndekọ aha, ị nwere ike ịmepụta usoro ndị ọzọ wee wụnye ha na-eso ihe ngosi enyere ebe a.

Ị nwere ajụjụ ọ bụla ma ọ bụ kwuo gbasara akụkọ a? Dị ka oge niile, nweere onwe gị iji ụdị dị n'okpuru mee ka anyị mara. Anyị na-atụ anya ịnụ gị!