Suġġerimenti u tricks għall-konverżjoni ta' data mhux strutturata minn zkuk għal ELK Stack billi tuża GROK f'LogStash

L-istrutturar tad-dejta mhux strutturata bil-GROK

Jekk qed tuża l-munzell Elastic (ELK) u huma interessati fl-immappjar ta 'logs Logstash tad-dwana għal Elasticsearch, allura din il-kariga hija għalik.

Suġġerimenti u tricks għall-konverżjoni ta' data mhux strutturata minn zkuk għal ELK Stack billi tuża GROK f'LogStash

Il-munzell ELK huwa akronimu għal tliet proġetti ta 'sors miftuħ: Elasticsearch, Logstash u Kibana. Flimkien jiffurmaw pjattaforma ta' ġestjoni taz-zkuk.

  • Elasticsearch hija sistema ta’ tfittxija u analitika.
  • logstash huwa pipeline tal-ipproċessar tad-dejta fuq in-naħa tas-server li jinġerixxi dejta minn sorsi multipli simultanjament, jittrasformaha, u mbagħad jibgħatha lil "stash" bħal Elasticsearch.
  • kibana jippermetti lill-utenti jivviżwalizzaw id-dejta billi jużaw mapep u graffs f'Elasticsearch.

Taħbita daħal aktar tard u huwa shipper tad-data ħafif. L-introduzzjoni ta 'Beats trasformat l-Elk Stack fil-Elastic Stack, iżda dak mhux il-punt.

Dan l-artikolu huwa dwar Grok, li hija karatteristika f'Logstash li tista' tittrasforma z-zkuk tiegħek qabel ma jintbagħtu fl-istash. Għall-finijiet tagħna, se nitkellem biss dwar l-ipproċessar tad-dejta minn Logstash f'Elasticsearch.

Suġġerimenti u tricks għall-konverżjoni ta' data mhux strutturata minn zkuk għal ELK Stack billi tuża GROK f'LogStash

Grok huwa filtru ġewwa Logstash li jintuża biex jeżamina data mhux strutturata f'xi ħaġa strutturata u li tista' tiġi mistoqsija. Hija tiltaqa 'fuq espressjoni regolari (regex) u tuża mudelli ta' test biex tqabbel is-sekwijiet fil-fajls log.

Kif se naraw fit-taqsimiet li ġejjin, l-użu ta 'Grok jagħmel differenza kbira meta niġu għall-ġestjoni effiċjenti ta' log.

Mingħajr Grok id-dejta tal-ġurnal tiegħek mhix strutturata

Suġġerimenti u tricks għall-konverżjoni ta' data mhux strutturata minn zkuk għal ELK Stack billi tuża GROK f'LogStash

Mingħajr Grok, meta zkuk jintbagħtu minn Logstash għal Elasticsearch u mogħtija f'Kibana, jidhru biss fil-valur tal-messaġġ.

L-istħarriġ ta' informazzjoni sinifikanti f'din is-sitwazzjoni huwa diffiċli minħabba li d-dejta kollha tal-log hija maħżuna f'ċavetta waħda. Ikun aħjar jekk il-messaġġi log kienu organizzati aħjar.

Dejta mhux strutturata minn zkuk

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

Jekk tħares mill-qrib lejn id-dejta mhux ipproċessata, tara li fil-fatt tikkonsisti minn partijiet differenti, kull waħda separata bi spazju.

Għal aktar żviluppaturi b'esperjenza, tista' probabilment taqta' xi tfisser kull waħda mill-partijiet u x'inhu dak il-messaġġ log mis-sejħa API. Il-preżentazzjoni ta' kull oġġett hija deskritta hawn taħt.

Veduta strutturata tad-dejta tagħna

  • ​ localhost == ambjent
  • ​ GET == metodu
  • ​ /v2/applink/5c2f4bb3e9fda1234edc64d == url
  • ​ 400 == risposta_istat
  • 46ms == ħin tar-rispons
  • ​ 5bc6e716b5d6cb35fc9687c0 == user_id

Kif naraw fid-dejta strutturata, hemm ordni għal zkuk mhux strutturati. Il-pass li jmiss huwa l-ipproċessar tas-softwer tad-dejta mhux ipproċessata. Dan huwa fejn jiddi Grok.

Mudelli Grok

Mudelli Grok inkorporati

Logstash jiġi b'aktar minn 100 mudell integrat għall-istrutturar tad-dejta mhux strutturata. Għandek definittivament tieħu vantaġġ minn dan kull meta jkun possibbli għal syslogs ġenerali bħal apache, linux, haproxy, aws eċċ.

Madankollu, x'jiġri meta jkollok zkuk tad-dwana bħal fl-eżempju ta 'hawn fuq? Int trid tibni l-mudell Grok tiegħek stess.

Mudelli Grok personalizzati

Trid tipprova tibni l-mudell Grok tiegħek stess. jien kont Grok Debugger и Mudelli Grok.

Innota li s-sintassi tal-mudell Grok hija kif ġej: %{SYNTAX:SEMANTIC}

L-ewwel ħaġa li ppruvajt nagħmel kienet immur fit-tab Skopri fid-debugger Grok. Ħsibt li jkun jibred jekk din l-għodda tista 'tiġġenera awtomatikament mudell Grok, iżda ma kinitx wisq utli peress li sabet biss żewġ logħbiet.

Suġġerimenti u tricks għall-konverżjoni ta' data mhux strutturata minn zkuk għal ELK Stack billi tuża GROK f'LogStash

Bl-użu ta 'din l-iskoperta, bdejt noħloq il-mudell tiegħi stess fid-debugger Grok billi tuża s-sintassi li tinsab fuq il-paġna Elastic Github.

Suġġerimenti u tricks għall-konverżjoni ta' data mhux strutturata minn zkuk għal ELK Stack billi tuża GROK f'LogStash

Wara li lgħabt b'sintassi differenti, fl-aħħar stajt nistruttura d-dejta tal-ġurnal kif ridt.

Suġġerimenti u tricks għall-konverżjoni ta' data mhux strutturata minn zkuk għal ELK Stack billi tuża GROK f'LogStash

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

Test oriġinali:

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

Disinn:

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

Dak li ġara fl-aħħar

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

Bil-mudell Grok u d-dejta mmappjata fl-idejn, l-aħħar pass huwa li żżidha ma 'Logstash.

Aġġornament tal-fajl tal-konfigurazzjoni Logstash.conf

Fuq is-server fejn installajt il-munzell ELK, mur fil-konfigurazzjoni Logstash:

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

Paste l-bidliet.

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" ]
  }
}

Wara li ssejvja l-bidliet tiegħek, ibda mill-ġdid Logstash u iċċekkja l-istatus tiegħu biex tiżgura li għadu jaħdem.

sudo service logstash restart
sudo service logstash status

Fl-aħħar nett, biex tiżgura li l-bidliet daħlu fis-seħħ, Kun żgur li taġġorna l-indiċi ta 'Elasticsearch tiegħek għal Logstash f'Kibana!

Suġġerimenti u tricks għall-konverżjoni ta' data mhux strutturata minn zkuk għal ELK Stack billi tuża GROK f'LogStash

Ma' Grok, id-dejta tal-log tiegħek hija strutturata!

Suġġerimenti u tricks għall-konverżjoni ta' data mhux strutturata minn zkuk għal ELK Stack billi tuża GROK f'LogStash

Kif nistgħu naraw fl-immaġni ta 'hawn fuq, Grok huwa kapaċi li jqabbel awtomatikament id-dejta tal-log ma' Elasticsearch. Dan jagħmilha aktar faċli biex timmaniġġja r-zkuk u titfittex malajr l-informazzjoni. Minflok tħaffer permezz ta 'log files biex tiddibaggja, tista' sempliċement tiffiltra minn dak li qed tfittex, bħal ambjent jew url.

Ipprova l-espressjonijiet Grok! Jekk għandek mod ieħor biex tagħmel dan jew għandek xi problemi bl-eżempji ta 'hawn fuq, ikteb kumment hawn taħt biex tgħarrafni.

Grazzi tal-qari—u jekk jogħġbok segwini hawn fuq Medium għal aktar artikli interessanti dwar l-inġinerija tas-softwer!

Riżorsi

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 Rabta mas-sors

Kanal Telegram minn Elasticsearch

Sors: www.habr.com

Żid kumment