Nasihu da dabaru don canza bayanan da ba a tsara su ba daga rajistan ayyukan zuwa ELK Stack ta amfani da GROK a LogStash

Ƙirƙirar bayanan da ba a tsara su ba tare da GROK

Idan kuna amfani da tarin Elastic (ELK) kuma kuna sha'awar yin taswirar logstash na al'ada zuwa Elasticsearch, to wannan post ɗin naku ne.

Nasihu da dabaru don canza bayanan da ba a tsara su ba daga rajistan ayyukan zuwa ELK Stack ta amfani da GROK a LogStash

Tarin ELK gajarta ce don ayyukan buɗaɗɗen tushe guda uku: Elasticsearch, Logstash da Kibana. Tare suna samar da dandalin sarrafa log.

  • Elasticsearch tsarin bincike ne da nazari.
  • Logstash bututun sarrafa bayanai ne na gefen uwar garken wanda ke shigar da bayanai daga tushe da yawa lokaci guda, canza shi, sannan a tura shi zuwa “stash” kamar Elasticsearch.
  • Kibana yana bawa masu amfani damar hange bayanai ta amfani da zane-zane da zane-zane a cikin Elasticsearch.

Barazana yazo daga baya kuma shine mai jigilar bayanai mara nauyi. Gabatarwar Beats ya canza Elk Stack zuwa Stack Elastic, amma wannan ba shine batun ba.

Wannan labarin yana game da Grok, wanda sifa ce a cikin Logstash wanda zai iya canza rajistan ayyukan ku kafin a aika su zuwa stash. Don dalilanmu, zan yi magana ne kawai game da sarrafa bayanai daga Logstash zuwa Elasticsearch.

Nasihu da dabaru don canza bayanan da ba a tsara su ba daga rajistan ayyukan zuwa ELK Stack ta amfani da GROK a LogStash

Grok tacewa ne a cikin Logstash wanda ake amfani dashi don tantance bayanan da ba a tsara su ba cikin wani abu da aka tsara kuma mai iya tambaya. Yana zaune a saman magana ta yau da kullun (regex) kuma yana amfani da tsarin rubutu don daidaita kirtani a cikin fayilolin log.

Kamar yadda za mu gani a cikin sassan masu zuwa, amfani da Grok yana haifar da babban bambanci idan ya zo ga ingantaccen sarrafa log.

Ba tare da Grok ba an tsara bayanan log ɗin ku ba

Nasihu da dabaru don canza bayanan da ba a tsara su ba daga rajistan ayyukan zuwa ELK Stack ta amfani da GROK a LogStash

Ba tare da Grok ba, lokacin da aka aika rajistan ayyukan daga Logstash zuwa Elasticsearch kuma ana yin su cikin Kibana, suna bayyana ne kawai a cikin ƙimar saƙon.

Neman bayanai masu ma'ana a wannan yanayin yana da wahala saboda duk bayanan log ɗin ana adana su a maɓalli ɗaya. Zai fi kyau idan an tsara saƙonnin log ɗin da kyau.

Bayanan da ba a tsara su ba daga rajistan ayyukan

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

Idan ka kalli danyen bayanan da kyau, za ka ga cewa a zahiri ya kunshi sassa daban-daban, kowanne ya rabu da sarari.

Don ƙwararrun ƙwararrun masu haɓakawa, ƙila za ku iya hasashen abin da kowane ɓangaren ke nufi da abin da saƙon log ɗin ya fito daga kiran API. An bayyana gabatarwar kowane abu a ƙasa.

Tsarin duba bayanan mu

  • localhost == muhalli
  • SAMU = Hanyar
  • ​ /v2/applink/5c2f4bb3e9fda1234edc64d == url
  • 400 == Matsayin amsawa
  • 46ms = lokacin amsawa
  • ​ 5bc6e716b5d6cb35fc9687c0 == user_id

Kamar yadda muke gani a cikin bayanan da aka tsara, akwai oda don rajistan ayyukan da ba a tsara su ba. Mataki na gaba shine sarrafa software na danyen bayanai. Wannan shine inda Grok ke haskakawa.

Samfuran Grok

Samfuran Grok da aka gina a ciki

Logstash ya zo da samfuran ginanni sama da 100 don tsara bayanan da ba a tsara su ba. Ya kamata ku yi amfani da wannan a duk lokacin da zai yiwu don janar syslogs kamar apache, Linux, haproxy, aws da sauransu.

Koyaya, menene zai faru idan kuna da rajistan ayyukan al'ada kamar a cikin misalin da ke sama? Dole ne ku gina samfurin Grok naku.

Samfuran Grok na Musamman

Dole ne ku yi ƙoƙarin gina samfurin Grok na ku. na yi amfani Grok Debugger и Tsarin Grok.

Lura cewa tsarin tsarin tsarin Grok shine kamar haka: %{SYNTAX:SEMANTIC}

Abu na farko da na yi ƙoƙarin yi shi ne zuwa shafin Discover a cikin Grok debugger. Ina tsammanin zai yi kyau idan wannan kayan aikin zai iya samar da tsarin Grok ta atomatik, amma ba shi da amfani sosai tunda ya sami matches biyu kawai.

Nasihu da dabaru don canza bayanan da ba a tsara su ba daga rajistan ayyukan zuwa ELK Stack ta amfani da GROK a LogStash

Yin amfani da wannan binciken, na fara ƙirƙirar samfura na a cikin Grok debugger ta amfani da sintax da aka samo akan shafin Elastic Github.

Nasihu da dabaru don canza bayanan da ba a tsara su ba daga rajistan ayyukan zuwa ELK Stack ta amfani da GROK a LogStash

Bayan yin wasa tare da kalmomi daban-daban, a ƙarshe na sami damar tsara bayanan log ɗin yadda nake so.

Nasihu da dabaru don canza bayanan da ba a tsara su ba daga rajistan ayyukan zuwa ELK Stack ta amfani da GROK a LogStash

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

Rubutun asali:

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

juna:

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

Me ya faru a karshe

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

Tare da samfurin Grok da bayanan taswira a hannu, mataki na ƙarshe shine ƙara shi zuwa Logstash.

Ana ɗaukaka fayil ɗin daidaitawar Logstash.conf

A kan uwar garken inda kuka shigar da tarin ELK, je zuwa tsarin Logstash:

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

Manna canje-canje.

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

Bayan adana canje-canjen ku, sake kunna Logstash kuma duba matsayinsa don tabbatar da cewa har yanzu yana aiki.

sudo service logstash restart
sudo service logstash status

A ƙarshe, don tabbatar da cewa canje-canjen sun yi tasiri. Tabbatar sabunta fihirisar Elasticsearch don Logstash a Kibana!

Nasihu da dabaru don canza bayanan da ba a tsara su ba daga rajistan ayyukan zuwa ELK Stack ta amfani da GROK a LogStash

Tare da Grok, an tsara bayanan log ɗin ku!

Nasihu da dabaru don canza bayanan da ba a tsara su ba daga rajistan ayyukan zuwa ELK Stack ta amfani da GROK a LogStash

Kamar yadda muke iya gani a hoton da ke sama, Grok yana da ikon daidaita bayanan log ta atomatik tare da Elasticsearch. Wannan yana ba da sauƙi don sarrafa rajistan ayyukan da sauri da neman bayanin tambaya. Maimakon tona ta cikin fayilolin log don gyara kuskure, kawai kuna iya tace ta abin da kuke nema, kamar muhalli ko url.

Gwada maganganun Grok! Idan kuna da wata hanyar yin wannan ko kuna da wata matsala tare da misalan da ke sama, kawai ku rubuta sharhi a ƙasa don sanar da ni.

Na gode da karantawa-kuma da fatan za a biyo ni nan akan Matsakaici don ƙarin labaran injiniyan software masu ban sha'awa!

Resources

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 Madogararsa na asali

Telegram channel by Elasticsearch

source: www.habr.com

Add a comment