په LogStash کې د GROK په کارولو سره د لاګ څخه ELK سټیک ته غیر منظم شوي ډیټا بدلولو لپاره لارښوونې او چلونه

د GROK سره د غیر منظم معلوماتو جوړښت

که تاسو د لچکدار (ELK) سټیک کاروئ او د Elasticsearch ته د دودیز لوګسټاش لاګونو نقشه کولو کې علاقه لرئ ، نو دا پوسټ ستاسو لپاره دی.

په LogStash کې د GROK په کارولو سره د لاګ څخه ELK سټیک ته غیر منظم شوي ډیټا بدلولو لپاره لارښوونې او چلونه

د ELK سټیک د دریو خلاصې سرچینې پروژو لپاره لنډیز دی: Elasticsearch، Logstash او Kibana. په ګډه دوی د لاګ مدیریت پلیټ فارم جوړوي.

  • الیسټسیکټ د لټون او تحلیلي سیسټم دی.
  • لوټسټش د سرور اړخ ډیټا پروسس کولو پایپ لاین دی چې په ورته وخت کې د ډیری سرچینو څخه ډیټا جذبوي ، یې بدلوي ، او بیا یې "سټاش" ته لیږي لکه Elasticsearch.
  • کببا کاروونکو ته اجازه ورکوي چې په Elasticsearch کې د چارټونو او ګرافونو په کارولو سره ډاټا لید کړي.

وهل وروسته راغلی او د لږ وزن ډیټا لیږدونکی دی. د بیټس معرفي د ایلک سټیک په لچک لرونکي سټیک بدل کړ ، مګر دا ټکی ندی.

دا مقاله د Grok په اړه ده، کوم چې په Logstash کې یو ځانګړتیا ده چې کولی شي ستاسو لاګونه مخکې له دې چې سټیش ته لیږل کیږي بدل کړي. زموږ د موخو لپاره، زه به یوازې د Logstash څخه Elasticsearch ته د معلوماتو پروسس کولو په اړه وغږیږم.

په LogStash کې د GROK په کارولو سره د لاګ څخه ELK سټیک ته غیر منظم شوي ډیټا بدلولو لپاره لارښوونې او چلونه

Grok د Logstash دننه یو فلټر دی چې د غیر جوړښت شوي ډاټا د جوړښت او پوښتنې وړ یو څه ته د پارس کولو لپاره کارول کیږي. دا د منظم بیان (regex) په سر کې ناست دی او په لاګ فایلونو کې د تارونو سره میچ کولو لپاره د متن نمونې کاروي.

لکه څنګه چې موږ به په لاندې برخو کې وګورو، د Grok کارول لوی توپیر رامینځته کوي کله چې د اغیزمن لاګ مدیریت خبره راځي.

د Grok پرته ستاسو د لاګ ډاټا غیر منظمه ده

په LogStash کې د GROK په کارولو سره د لاګ څخه ELK سټیک ته غیر منظم شوي ډیټا بدلولو لپاره لارښوونې او چلونه

د Grok پرته، کله چې لاګ له Logstash څخه Elasticsearch ته لیږل کیږي او په کیبانا کې وړاندې کیږي، دوی یوازې د پیغام ارزښت کې ښکاري.

پدې حالت کې د معنی لرونکي معلوماتو پوښتنه کول ستونزمن دي ځکه چې ټول لاګ ډیټا په یوه کیلي کې زیرمه شوي. دا به غوره وي که چیرې د لاګ پیغامونه ښه تنظیم شوي وي.

د لاګونو څخه غیر منظم معلومات

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

که تاسو خام ډاټا ته نږدې وګورئ، تاسو به وګورئ چې دا په حقیقت کې د مختلفو برخو څخه جوړه شوې ده، هر یو د ځای په واسطه جلا شوی.

د نورو تجربه لرونکو پراختیا کونکو لپاره، تاسو شاید اټکل وکړئ چې د هرې برخې معنی څه ده او د API کال څخه د لاګ پیغام څه دی. د هر توکي پریزنټشن لاندې تشریح شوی.

زموږ د معلوماتو جوړښت شوی لید

  • ځایی کوربه == چاپیریال
  • ترلاسه کول == طریقه
  • ​ /v2/applink/5c2f4bb3e9fda1234edc64d == url
  • 400 == ځواب_حالت
  • 46ms == د ځواب وخت
  • ​ 5bc6e716b5d6cb35fc9687c0 == user_id

لکه څنګه چې موږ په جوړښت شوي ډاټا کې ګورو، د غیر منظم شوي لوګو لپاره یو ترتیب شتون لري. بل ګام د خامو معلوماتو سافټویر پروسس کول دي. دا هغه ځای دی چې ګروک روښانه کوي.

Grok کينډۍ

د Grok ټیمپلیټونه جوړ شوي

Logstash د غیر ساختماني معلوماتو د جوړښت لپاره له 100 څخه ډیر جوړ شوي ټیمپلیټونو سره راځي. تاسو باید حتما له دې څخه ګټه پورته کړئ کله چې د عمومي سیسټمونو لکه اپاچي ، لینکس ، هاپروکسي ، aws او داسې نورو لپاره امکان ولري.

په هرصورت، څه پیښیږي کله چې تاسو دودیز لاګونه لرئ لکه پورته مثال کې؟ تاسو باید خپل د Grok ټیمپلیټ جوړ کړئ.

د ګمرک گروک ټیمپلیټونه

تاسو باید د خپل Grok ټیمپلیټ جوړولو هڅه وکړئ. ما کارول Grok Debugger и Grok نمونې.

په یاد ولرئ چې د Grok ټیمپلیټ ترکیب په لاندې ډول دی: %{SYNTAX:SEMANTIC}

لومړی شی چې ما یې کولو هڅه وکړه ټب ته لاړ کشف په Grok debugger کې. ما فکر کاوه چې دا به ښه وي که دا وسیله په اوتومات ډول د ګروک نمونه رامینځته کړي ، مګر دا خورا ګټور نه و ځکه چې دا یوازې دوه میچونه وموندل.

په LogStash کې د GROK په کارولو سره د لاګ څخه ELK سټیک ته غیر منظم شوي ډیټا بدلولو لپاره لارښوونې او چلونه

د دې موندنې په کارولو سره، ما په Grok debugger کې د لچک لرونکي ګیتوب پاڼې موندلو ترکیب په کارولو سره خپل ټیمپلیټ جوړ کړ.

په LogStash کې د GROK په کارولو سره د لاګ څخه ELK سټیک ته غیر منظم شوي ډیټا بدلولو لپاره لارښوونې او چلونه

د مختلف ترکیبونو سره شاوخوا لوبې کولو وروسته ، زه په پای کې توانیدلی وم چې د لاګ ډیټا هغه ډول تنظیم کړم چې زه یې غواړم.

په LogStash کې د GROK په کارولو سره د لاګ څخه ELK سټیک ته غیر منظم شوي ډیټا بدلولو لپاره لارښوونې او چلونه

د ګروک ډیبګر لینک https://grokdebug.herokuapp.com/

اصلي متن:

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

شکل:

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

په پای کې څه وشول

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

د Grok ټیمپلیټ او نقشه شوي ډاټا سره په لاس کې، وروستی ګام دا دی چې دا په Logstash کې اضافه کړئ.

د Logstash.conf ترتیب کولو فایل تازه کول

په سرور کې چیرې چې تاسو د ELK سټیک نصب کړی، د Logstash ترتیب ته لاړ شئ:

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

بدلونونه پیسټ کړئ.

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

د خپلو بدلونونو د خوندي کولو وروسته، Logstash بیا پیل کړئ او د هغې وضعیت وګورئ ترڅو ډاډ ترلاسه کړئ چې دا لاهم کار کوي.

sudo service logstash restart
sudo service logstash status

په نهایت کې، د دې ډاډ ترلاسه کولو لپاره چې بدلونونه اغیزمن شوي، ډاډه اوسئ چې په کبانا کې د Logstash لپاره خپل د Elasticsearch شاخص تازه کړئ!

په LogStash کې د GROK په کارولو سره د لاګ څخه ELK سټیک ته غیر منظم شوي ډیټا بدلولو لپاره لارښوونې او چلونه

د Grok سره، ستاسو د لاګ ډاټا جوړښت لري!

په LogStash کې د GROK په کارولو سره د لاګ څخه ELK سټیک ته غیر منظم شوي ډیټا بدلولو لپاره لارښوونې او چلونه

لکه څنګه چې موږ په پورتني عکس کې لیدلی شو ، گروک د دې وړتیا لري چې په اتوماتيک ډول د Elasticsearch سره د لاګ ډیټا میچ کړي. دا د لاګونو اداره کول او په چټکۍ سره د معلوماتو پوښتنې کول اسانه کوي. د ډیبګ کولو لپاره د لاګ فایلونو د کیندلو پرځای ، تاسو کولی شئ په ساده ډول هغه څه فلټر کړئ چې تاسو یې په لټه کې یاست ، لکه چاپیریال یا یو آر ایل.

د Grok څرګندونې یوه هڅه وکړئ! که تاسو د دې کولو لپاره بله لاره لرئ یا د پورته مثالونو سره کومه ستونزه لرئ، یوازې لاندې تبصره ولیکئ چې ما ته خبر راکړئ.

د لوستلو لپاره مننه — او مهرباني وکړئ ما دلته په میډیم کې د نورو په زړه پورې سافټویر انجینري مقالو لپاره تعقیب کړئ!

سرچینې

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/

پی ایس د سرچینې لینک

د ټیلیګرام چینل لخوا الیسټسیکټ

سرچینه: www.habr.com

Add a comment