لاگ ان ڪبرنيٽس: EFK vs PLG

لاگ ان ڪبرنيٽس: EFK vs PLG

مانيٽرنگ وڌندڙ بادل حل جو هڪ اهم حصو بڻجي چڪو آهي جيئن ورهايل سسٽم جي پيچيدگي وڌائي ٿي. انهن جي رويي کي سمجهڻ جي ضرورت آهي. اسان کي اسپيبلبل اوزارن جي ضرورت آھي جيڪي سڀني خدمتن مان ڊيٽا گڏ ڪري سگھن ٿا - ۽ ماهرن کي ھڪڙي انٽرفيس سان گڏ ڪارڪردگي جي تجزيي، غلطي جي نمائش، دستيابي ۽ لاگس سان مهيا ڪن ٿا.

اهي ساڳيون اوزار ڪارائتو ۽ پيداوار هجڻ گهرجن. هن آرٽيڪل ۾، اسان ٻه مشهور ٽيڪنالاجي اسٽيڪ تي نظر ڪنداسين: EFK (Elasticsearch) ۽ PLG (Loki) ۽ انهن جي تعميرات ۽ اختلافن کي جانچيندا.

EFK اسٽيڪ

توهان شايد اڳ ۾ ئي ٻڌو آهي تمام مشهور ELK يا EFK بابت. اسٽيڪ ڪيترن ئي مختلف حصن تي مشتمل آهي: Elasticsearch (Object Storage)، Logstash يا FluentD (لاگ ڪليڪشن ۽ ايگريگيشن)، ۽ ويزولائيزيشن لاءِ Kibana.

هڪ عام ڪم فلو هن طرح نظر اچي ٿو:

لاگ ان ڪبرنيٽس: EFK vs PLG

ElasticsSearch - ڳولا ۽ حقيقي وقت جي تجزيي سان ورهايل اعتراض اسٽوريج. نيم ٺهيل ڊيٽا لاءِ بهترين حل جهڙوڪ لاگ. معلومات محفوظ ڪئي وئي آهي JSON دستاويزن، حقيقي وقت ۾ ترتيب ڏنل ۽ ڪلستر نوڊس ۾ ورهايل. هڪ inverted index استعمال ڪيو ويندو آهي، جنهن ۾ سڀني منفرد لفظن ۽ لاڳاپيل دستاويزن تي مشتمل آهي مڪمل متن جي ڳولا لاءِ، جنهن جي نتيجي ۾ Apache Lucene سرچ انجڻ تي ٻڌل آهي.

رواني ڊي هڪ ڊيٽا ڪليڪٽر آهي جيڪو ڊيٽا گڏ ڪري ٿو جڏهن ان کي گڏ ڪرڻ ۽ استعمال ڪرڻ. اهو ممڪن طور تي JSON ۾ ڊيٽا کي منظم ڪرڻ جي ڪوشش ڪري ٿو. ان جي فن تعمير extensible آهي، اتي وڌيڪ آهن سوين مختلف واڌايون، ڪميونٽي جي مدد سان، سڀني موقعن لاءِ.

ڪبيانا - مختلف اضافي صلاحيتن سان Elasticsearch لاءِ ڊيٽا بصري اوزار، مثال طور، ٽائيم سيريز تجزيو، گراف تجزيو، مشين لرننگ ۽ وڌيڪ.

لچڪدار ڳولها فن تعمير

Elasticsearch ڪلستر ڊيٽا ان جي سڀني نوڊس ۾ پکڙيل آهي. هڪ ڪلستر ڪيترن ئي نوڊس تي مشتمل آهي دستيابي ۽ استحڪام کي بهتر ڪرڻ لاءِ. ڪو به نوڊ ڪلستر جي سڀني ڪردارن کي انجام ڏئي سگھي ٿو، پر وڏي پيماني تي ٺاھڻ ۾، نوڊس عام طور تي انفرادي ڪمن کي مقرر ڪيو ويو آھي.

ڪلستر نوڊ جا قسم:

  • ماسٽر نوڊ - ڪلستر کي منظم ڪري ٿو، گهٽ ۾ گهٽ ٽي گهربل آهن، هڪ هميشه فعال آهي؛
  • ڊيٽا نوڊ - انڊيڪس ٿيل ڊيٽا کي ذخيرو ڪري ٿو ۽ ان سان گڏ مختلف ڪم انجام ڏئي ٿو؛
  • ingest node - انڊيڪس ڪرڻ کان اڳ ڊيٽا کي تبديل ڪرڻ لاء پائپ لائنز کي منظم ڪري ٿو؛
  • ڪوآرڊينيٽنگ نوڊ - درخواستن جي روٽنگ، سرچ پروسيسنگ مرحلي کي گھٽائڻ، ماس انڊيڪسنگ کي همٿائڻ؛
  • خبردار ڪرڻ وارو نوڊ - الرٽ ڪم شروع ڪرڻ؛
  • مشين لرننگ نوڊ - پروسيسنگ مشين لرننگ جا ڪم.

هيٺ ڏنل آراگرام ڏيکاري ٿو ته ڊيٽا ڪيئن ذخيرو ٿيل آهي ۽ نوڊس ۾ نقل ڪئي وئي آهي اعلي ڊيٽا جي دستيابي حاصل ڪرڻ لاءِ.

لاگ ان ڪبرنيٽس: EFK vs PLG

هر ريپليڪا جي ڊيٽا هڪ انڊيڪس ۾ ذخيرو ٿيل آهي، هيٺ ڏنل ڊراگرام ڏيکاري ٿو ته اهو ڪيئن ٿئي ٿو:

لاگ ان ڪبرنيٽس: EFK vs PLG

تنصيب

تفصيل ڏسي سگھجي ٿو هتي, مان هيلم چارٽ استعمال ڪندس:

$ helm install efk-stack stable/elastic-stack --set logstash.enabled=false --set fluentd.enabled=true --set fluentd-elastics

PLG اسٽيڪ

حيرت نه ٿيو جيڪڏهن توهان هن مخفف کي نه ڳولي سگهو ٿا، جيئن اهو بهتر طور سڃاتو وڃي ٿو Grafana Loki. ڪنهن به صورت ۾، هي اسٽيڪ مقبوليت حاصل ڪري رهيو آهي ڇاڪاڻ ته اهو ثابت ٿيل ٽيڪنيڪل حل استعمال ڪندو آهي. توهان شايد اڳ ۾ ئي ٻڌو هوندو Grafana، هڪ مشهور بصري اوزار. ان جي ٺاهيندڙن، پروميٿيس کان متاثر ٿي، لوڪي، افقي طور تي اسپيبلبل، اعلي ڪارڪردگي لاگ مجموعي سسٽم کي ترقي ڪئي. لوڪي صرف ميٽاداٽا کي ترتيب ڏئي ٿو، نه ته جرنلز پاڻ، هڪ ٽيڪنيڪل حل جيڪو ان کي استعمال ڪرڻ آسان ۽ قيمتي اثرائتي ڪرڻ جي اجازت ڏئي ٿو.

Promtail - لاگ موڪلڻ لاءِ ايجنٽ آپريٽنگ سسٽم مان لوڪي ڪلستر ڏانهن. گرافانا Loki مان ڊيٽا تي ٻڌل هڪ بصري اوزار آهي.

لاگ ان ڪبرنيٽس: EFK vs PLG

Loki Prometheus جي ساڳين اصولن تي ٺهيل آهي، جيڪا ڪبرنيٽس لاگز کي محفوظ ڪرڻ ۽ تجزيو ڪرڻ لاءِ چڱيءَ طرح موزون بڻائي ٿي.

لوڪ فن تعمير

لوڪ کي هلائي سگھجي ٿو يا ته ھڪڙي عمل جي طور تي يا گھڻن عملن جي طور تي، افقي اسڪيلنگ جي اجازت ڏئي ٿي.

لاگ ان ڪبرنيٽس: EFK vs PLG

اهو پڻ ڪم ڪري سگهي ٿو يا ته هڪ monolithic اپليڪيشن يا هڪ microservice طور. ھڪڙي عمل جي طور تي ھلڻ مقامي ترقي يا معمولي نگراني لاء ڪارائتو ٿي سگھي ٿو. صنعتي عمل درآمد ۽ اسپيبلبل ڪم لوڊ لاء، اهو microservice اختيار استعمال ڪرڻ جي سفارش ڪئي وئي آهي. ڊيٽا لکڻ ۽ پڙهڻ لاءِ رستا الڳ ڪيا ويا آهن، ان ڪري ان کي ضرورت مطابق ترتيب ۽ ماپ ڪري سگهجي ٿو.

اچو ته تفصيل ۾ وڃڻ جي بغير لاگ گڏ ڪرڻ واري نظام جي فن تعمير کي ڏسو:

لاگ ان ڪبرنيٽس: EFK vs PLG

۽ هتي بيان آهي (microservice فن تعمير):

لاگ ان ڪبرنيٽس: EFK vs PLG

اجزاء:

Promtail - هڪ ايجنٽ نوڊس تي نصب ڪيو ويو آهي (سروسز جي هڪ سيٽ جي طور تي)، اهو لاگز کي ڪمن مان هٽائي ٿو ۽ ميٽا ڊيٽا حاصل ڪرڻ لاءِ ڪبرنيٽس API تائين رسائي ڪري ٿو جيڪو لاگز کي ٽيگ ڪندو. اهو وري لاگ موڪلي ٿو مکيه لوڪي سروس ڏانهن. ميٽا ڊيٽا ميپنگ ساڳئي ٽيگنگ قاعدن جي حمايت ڪري ٿي جيئن Prometheus.

تقسيم - هڪ خدمت ورهائيندڙ جيڪو ڪم ڪري ٿو بفر طور. لکين رڪارڊن کي پروسيس ڪرڻ لاءِ، اهو ايندڙ ڊيٽا کي پيڪ ڪري ٿو، ان کي بلاڪن ۾ دٻائڻ سان جيئن اچي ٿو. ڪيترائي ڊيٽا sinks هڪ ئي وقت هلندا آهن، پر هڪ ايندڙ ڊيٽا اسٽريم سان تعلق رکندڙ لاگ ان جي سڀني بلاڪن لاءِ صرف انهن مان هڪ ۾ ظاهر ٿيڻ گهرجن. هي سنڪ جي هڪ انگ ۾ منظم ڪيو ويو آهي ۽ ترتيب وار هيشنگ. غلطي رواداري ۽ بيڪارگي لاء، اهو ڪيو ويندو آهي ن ڀيرا (3 جيڪڏهن ترتيب ڏنل نه هجي).

انجيسٽر - خدمت وصول ڪندڙ. ڊيٽا بلاڪ شامل ٿيل لاگز سان گڏ ٺهڪندڙ پهچي ويندا آهن. هڪ دفعو بلاڪ ڪافي سائيز جو آهي، بلاڪ ڊيٽابيس ڏانهن ڦهليل آهي. ميٽا ڊيٽا انڊيڪس ڏانهن وڃي ٿي، ۽ لاگ بلاڪ مان ڊيٽا چنن ڏانهن وڃي ٿي (عام طور تي اعتراض اسٽوريج). ريٽ ڪرڻ کان پوء، وصول ڪندڙ هڪ نئون بلاڪ ٺاهي ٿو جتي نوان داخل ڪيا ويندا.

لاگ ان ڪبرنيٽس: EFK vs PLG

اشهد - ڊيٽابيس، DynamoDB، Cassandra، Google BigTable، وغيره.

Chunks - لاگ بلاڪ کمپريس ٿيل فارم ۾، عام طور تي ذخيرو ٿيل شيون اسٽوريج ۾، مثال طور، S3.

سوال ڪندڙ - پڙهڻ جو رستو جيڪو تمام گندو ڪم ڪري ٿو. اهو ڏسڻ ۾ اچي ٿو وقت جي حد ۽ ٽائم اسٽيمپ، ۽ پوءِ ڏسڻ ۾ اچي ٿو انڊيڪس کي ملائڻ لاءِ. اڳيون، اهو ڊيٽا جا بلاڪ پڙهي ٿو ۽ نتيجو حاصل ڪرڻ لاء انهن کي فلٽر ڪري ٿو.

هاڻي اچو ته سڀ ڪجهه عمل ۾ ڏسو.

تنصيب

Kubernetes ۾ انسٽال ڪرڻ جو آسان طريقو ھيلم استعمال ڪرڻ آھي. اسان سمجهون ٿا ته توهان اڳ ۾ ئي انسٽال ڪيو آهي ۽ ان کي ترتيب ڏنو آهي (۽ ٽيون نسخو! لڳ ڀڳ مترجم)

هڪ مخزن شامل ڪريو ۽ هڪ اسٽيڪ انسٽال ڪريو.

$ helm repo add loki https://grafana.github.io/loki/charts
$ helm repo update
$ helm upgrade --install loki loki/loki-stack --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false

هيٺ هڪ مثال ڊيش بورڊ آهي جيڪو ڏيکاري ٿو پروميٿيوس کان ڊيٽا Etcd ميٽرڪس لاءِ ۽ لوڪي لاءِ Etcd پوڊ لاگز.

لاگ ان ڪبرنيٽس: EFK vs PLG

هاڻي اچو ته ٻنهي سسٽم جي فن تعمير تي بحث ڪريون، ۽ انهن جي صلاحيتن جو هڪ ٻئي سان مقابلو پڻ ڪريو.

مقابلي ۾

سوال جي ٻولي

Elasticsearch مڪمل متن جي ڳولا جون صلاحيتون مهيا ڪرڻ لاءِ Query DSL ۽ Lucene query language استعمال ڪري ٿو. اهو هڪ قائم، طاقتور سرچ انجڻ آهي جيڪو وسيع آپريٽر سپورٽ سان. ان سان گڏ، توھان ڳولهي سگھوٿا حوالن سان ۽ ترتيب سان ترتيب ڏيو.

انگ جي ٻئي پاسي LogQL آهي، Loki ۾ استعمال ٿئي ٿو، PromQL جو جانشين (Prometheus query language). اهو لاگ ڊيٽا کي فلٽر ڪرڻ ۽ چونڊڻ لاءِ لاگ ٽيگ استعمال ڪندو آهي. اهو ممڪن آهي ته ڪجهه آپريٽرز ۽ رياضيات کي استعمال ڪرڻ لاء جيئن بيان ڪيو ويو آهي هتيپر قابليت جي لحاظ کان اها لچڪدار ٻولي کان پوئتي آهي.

جيئن ته لوڪي ۾ سوالن جو تعلق ٽيگ سان آهي، اهي ميٽرڪس سان لاڳاپا آسان آهن، ۽ نتيجي طور، اهي آپريشنل نگراني کي منظم ڪرڻ ۾ آسان آهن.

اسڪاليبلٽي

ٻئي اسٽيڪ افقي طور تي اسپيبلبل آهن، پر لوڪي ان کي آسان بڻائي ٿو ڇو ته ان ۾ الڳ پڙهڻ ۽ لکڻ جا رستا ۽ هڪ مائڪرو سروس آرڪيٽيڪچر آهي. Loki توهان جي ضرورتن مطابق ترتيب ڏئي سگهجي ٿو ۽ لاگ ڊيٽا جي تمام وڏي مقدار لاءِ استعمال ٿي سگهي ٿو.

گھڻائي

OPEX مخفف ۾ ڪلسٽر ملٽيٽيننسي هڪ عام موضوع آهي، ٻئي اسٽيڪ ملٽي ٽيننسي مهيا ڪن ٿا. Elasticsearch لاءِ ڪيترائي آھن طريقا ڪلائنٽ جي علحدگي: هر ڪلائنٽ لاءِ الڳ انڊيڪس، ڪلائنٽ تي ٻڌل روٽنگ، منفرد ڪلائنٽ فيلڊ، سرچ فلٽر. لوڪ وٽ آهي حمايت HTTP X-Scope-OrgID هيڊر جي صورت ۾.

جي قيمت

لوڪي ڪافي قيمتي اثرائتي آهي انهي حقيقت جي ڪري ته اهو ڊيٽا کي انڊيڪس نٿو ڪري، صرف ميٽا ڊيٽا. اهو حاصل ڪري ٿو ذخيرو تي بچت ۽ ياداشت (ڪيش)، ڇاڪاڻ ته آبجیکٹ اسٽوريج بلاڪ اسٽوريج کان سستي آهي، جيڪا ايلسٽسٽڪ سرچ ڪلستر ۾ استعمال ٿئي ٿي.

ٿڪل

EFK اسٽيڪ مختلف مقصدن لاءِ استعمال ٿي سگھي ٿو، وڌ ۾ وڌ لچڪ ۽ خصوصيت سان مالامال Kibana انٽرفيس مهيا ڪرڻ لاءِ تجزياتي، بصري، ۽ سوالن لاءِ. اهو مشين سکيا جي صلاحيتن کي وڌيڪ وڌائي سگهجي ٿو.

لوڪي اسٽيڪ ڪبرنيٽس ايڪو سسٽم ۾ مفيد آهي ڇاڪاڻ ته ان جي ميٽا ڊيٽا دريافت جي ميڪانيزم جي ڪري. توهان گرافانا ۽ لاگز ۾ ٽائيم سيريز جي بنياد تي مانيٽرنگ لاءِ ڊيٽا کي آساني سان ڳنڍي سگهو ٿا.

جڏهن اها قيمت ۽ ڊگهي مدي واري لاگ اسٽوريج تي اچي ٿي، لوڪي بادل حل ۾ هڪ بهترين داخلا نقطو آهي.

مارڪيٽ تي وڌيڪ متبادل آهن - ڪجهه توهان لاءِ بهتر هوندا. مثال طور، GKE وٽ هڪ Stackdriver انضمام آهي جيڪو هڪ بهترين نگراني حل فراهم ڪري ٿو. اسان انهن کي هن مضمون ۾ اسان جي تجزيي ۾ شامل نه ڪيو آهي.

حوالا:

مضمون ترجمو ڪيو ويو ۽ ملازمن پاران حبر لاءِ تيار ڪيو ويو سلم ٽريننگ سينٽر - سخت ڪورسز، وڊيو ڪورسز ۽ ڪارپوريٽ ٽريننگ مشق ڪندڙ ماهرن کان (Kubernetes، DevOps، Docker، Ansible، Ceph، SRE، Agile)

جو ذريعو: www.habr.com

تبصرو شامل ڪريو