Talooyin iyo tabaha loogu beddelo xogta aan habaysanayn ee logyada una beddelo ELK Stack iyadoo la isticmaalayo GROK gudaha LogStash

Ku qaabaynta xogta aan habaysanayn ee GROK

Haddii aad isticmaalayso xirmada Elastic (ELK) oo aad xiisaynayso inaad ku sawirto diiwaanka Logstash ee caadiga ah ee Elasticsearch, markaa boostadani adigaa leh.

Talooyin iyo tabaha loogu beddelo xogta aan habaysanayn ee logyada una beddelo ELK Stack iyadoo la isticmaalayo GROK gudaha LogStash

Xirmada ELK waa erey la soo gaabiyey saddex mashruuc oo il furan: Elasticsearch, Logstash iyo Kibana. Si wada jir ah waxay u sameeyaan madal lagu maamulo log.

  • Elasticsearch waa hab-raadinta iyo falanqaynta.
  • Logstash waa dhuumaha habaynta xogta dhinaca server-ka kaas oo ka keena xogta ilo badan isku mar, beddesha, ka dibna u dirta "stash" sida Elasticsearch.
  • Kibana Waxay u ogolaataa isticmaalayaasha inay sawiraan xogta iyagoo isticmaalaya jaantusyada iyo garaafyada Elasticsearch.

Beats mar dambe yimid oo waa xog-qaade fudud. Soo bandhigida garaaca waxay u beddeshay Qalabka Elk Stack-ka Elastic, laakiin taasi maahan barta.

Maqaalkani waxa uu ku saabsan yahay Grok, kaas oo ah muuqaal ku jira Logstash kaas oo bedeli kara logyadaada ka hor inta aan loo dirin qashinka. Ujeeddooyinkeena, kaliya waxaan ka hadli doonaa habaynta xogta Logstash una gudub Elasticsearch.

Talooyin iyo tabaha loogu beddelo xogta aan habaysanayn ee logyada una beddelo ELK Stack iyadoo la isticmaalayo GROK gudaha LogStash

Grok waa filter gudaha Logstash oo loo isticmaalo in lagu kala saaro xogta aan habaysanayn shay habaysan oo la waydiin karo. Waxay ku fadhidaa korka odhaah joogto ah (regex) waxayna isticmaashaa habab qoraal ah si ay isugu dhigmaan xadhkaha faylalka log.

Sida aan ku arki doonno qaybaha soo socda, adeegsiga Grok waxay sameyneysaa farqi weyn marka ay timaado maareynta logaga oo hufan.

Grok la'aanteed xogta loggu waa mid aan habaysanayn

Talooyin iyo tabaha loogu beddelo xogta aan habaysanayn ee logyada una beddelo ELK Stack iyadoo la isticmaalayo GROK gudaha LogStash

Grok la'aanteed, marka logyada laga soo diro Logstash loona diro Elasticsearch oo lagu soo bandhigo Kibana, kaliya waxay ka muuqdaan qiimaha fariinta.

Weydiinta macluumaadka macnaha leh ee xaaladdan waa adag tahay sababtoo ah dhammaan xogta log waxa lagu kaydiyaa hal fure. Way fiicnaan lahayd haddii fariimaha logu si wanaagsan loo habeeyo.

Xogta aan habaysanayn ee ka timid logyada

localhost GET /v2/applink/5c2f4bb3e9fda1234edc64d 400 46ms 5bc6e716b5d6cb35fc9687c0

Haddii aad si dhow u eegto xogta ceeriin, waxaad arki doontaa in ay dhab ahaantii ka kooban tahay qaybo kala duwan, oo mid kastaa u kala soocay meel bannaan.

Horumariyayaal khibrad badan leh, waxaad u maleyn kartaa in mid kasta oo ka mid ah qaybaha ay ka dhigan tahay iyo waxa ay fariinta log ka timid wicitaanka API. Soo bandhigida shay kasta ayaa hoos lagu qeexay.

Aragti qaabaysan ee xogtayada

  • deegaanka == deegaanka
  • HEL == habka
  • ​ /v2/applink/5c2f4bb3e9fda1234edc64d == url
  • 400 = heerka jawaabta
  • 46ms == jawaabta_waqtiga
  • ​ 5bc6e716b5d6cb35fc9687c0 == user_id

Sida aan ku aragno xogta habaysan, waxaa jira amar loogu talagalay diiwaannada aan qaabaysan. Tallaabada xigta waa habaynta software ee xogta ceeriin. Tani waa meesha Grok ka iftiimay.

Grok Templates

Qaababka Grok ee lagu dhex dhisay

Logstash waxa ay la socotaa in ka badan 100 qaab oo lagu dhex dhisay si ay u habeeyaan xogta aan habaysan. Dhab ahaantii waa inaad tan ka faa'iidaysato mar kasta oo ay suurtagal tahay syslogs guud sida apache, linux, haproxy, aws iyo wixii la mid ah.

Si kastaba ha ahaatee, maxaa dhacaya marka aad haysato diiwaannada gaarka ah sida tusaalaha sare? Waa inaad dhistaa template Grok adiga kuu gaar ah.

Hababka Grok Custom

Waa inaad isku daydaa inaad dhisto template Grok adiga kuu gaar ah. waan isticmaalay Grok Debugger ΠΈ Qaababka Grok.

Ogsoonow in qaabka Grok syntax uu yahay sida soo socota: %{SYNTAX:SEMANTIC}

Waxa ugu horreeya ee aan isku dayay inaan sameeyo waxay ahayd tab tab Baro ee Grok debugger. Waxaan u maleynayay inay fiicnaan lahayd haddii qalabkani uu si toos ah u dhalin karo qaabka Grok, laakiin ma ahayn mid faa'iido leh maadaama ay heshay laba kulan oo keliya.

Talooyin iyo tabaha loogu beddelo xogta aan habaysanayn ee logyada una beddelo ELK Stack iyadoo la isticmaalayo GROK gudaha LogStash

Isticmaalka helitaankan, waxaan bilaabay abuurista qaab-dhismeedkayga Grok debugger aniga oo isticmaalaya syntax-ka laga helay bogga Elastic Github.

Talooyin iyo tabaha loogu beddelo xogta aan habaysanayn ee logyada una beddelo ELK Stack iyadoo la isticmaalayo GROK gudaha LogStash

Ka dib markii aan la ciyaaray erayo kala duwan, waxaan ugu dambeyntii awooday inaan u habeeyo xogta log sida aan rabo.

Talooyin iyo tabaha loogu beddelo xogta aan habaysanayn ee logyada una beddelo ELK Stack iyadoo la isticmaalayo GROK gudaha LogStash

Grok Debugger Link https://grokdebug.herokuapp.com/

Qoraalka asalka ah:

localhost GET /v2/applink/5c2f4bb3e9fda1234edc64d 400 46ms 5bc6e716b5d6cb35fc9687c0

Qaabka:

%{WORD:environment} %{WORD:method} %{URIPATH:url} %{NUMBER:response_status} %{WORD:response_time} %{USERNAME:user_id}

Maxaa dhacay aakhirkii

{
  "environment": [
    [
      "localhost"
    ]
  ],
  "method": [
    [
      "GET"
    ]
  ],
  "url": [
    [
      "/v2/applink/5c2f4bb3e9fda1234edc64d"
    ]
  ],
  "response_status": [
    [
      "400"
    ]
  ],
  "BASE10NUM": [
    [
      "400"
    ]
  ],
  "response_time": [
    [
      "46ms"
    ]
  ],
  "user_id": [
    [
      "5bc6e716b5d6cb35fc9687c0"
    ]
  ]
}

Iyada oo leh qaabka Grok iyo xogta khariidad ee gacanta ku jirta, talaabada ugu dambeysa waa in lagu daro Logstash.

Cusbooneysiinta faylka qaabeynta Logstash.conf

Seerarka meesha aad ku rakibtay xirmada ELK, aad qaabeynta Logstash:

sudo vi /etc/logstash/conf.d/logstash.conf

Ku dheji isbedelada.

input { 
  file {
    path => "/your_logs/*.log"
  }
}
filter{
  grok {
    match => { "message" => "%{WORD:environment} %{WORD:method} %{URIPATH:url} %{NUMBER:response_status} %{WORD:response_time} %{USERNAME:user_id}"}
  }
}
output {
  elasticsearch {
    hosts => [ "localhost:9200" ]
  }
}

Ka dib markaad kaydiso isbeddelladaada, dib u bilaw Logstash oo hubi xaaladdeeda si aad u hubiso inay wali shaqaynayso.

sudo service logstash restart
sudo service logstash status

Ugu dambeyntii, si loo hubiyo in isbeddelku uu hirgalay, Hubi inaad cusboonaysiiso tusaha Elasticsearch ee Logstash gudaha Kibana!

Talooyin iyo tabaha loogu beddelo xogta aan habaysanayn ee logyada una beddelo ELK Stack iyadoo la isticmaalayo GROK gudaha LogStash

Grok, xogta logkaaga waa la habeeyey!

Talooyin iyo tabaha loogu beddelo xogta aan habaysanayn ee logyada una beddelo ELK Stack iyadoo la isticmaalayo GROK gudaha LogStash

Sida aan ku arki karno sawirka kore, Grok wuxuu awood u leeyahay inuu si toos ah u waafajiyo xogta log iyo Elasticsearch. Tani waxay sahlaysaa in la maareeyo diiwaanka oo si degdeg ah loo weydiiyo macluumaadka. Halkii aad ka dhex qodan lahayd faylalka log si aad u saxdo, waxa aad si fudud ku shaandhayn kartaa waxa aad raadinayso, sida deegaan ama url.

Isku day tibaaxaha Grok! Haddii aad hayso hab kale oo aad tan ku samayso ama aad wax dhib ah kala kulanto tusaalooyinka sare, kaliya ku qor faallooyinka hoose si aad ii ogeysiiso.

Waad ku mahadsan tahay akhriska-oo fadlan igu raac halkan Medium si aad u hesho maqaallada injineernimada software ee xiisaha badan!

Khayraadka

https://www.elastic.co/blog/do-you-grok-grok
https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns
https://grokdebug.herokuapp.com/

PS Xidhiidhka isha

Telegram channel by Elasticsearch

Source: www.habr.com

Add a comment