مانيٽرنگ وڌندڙ بادل حل جو هڪ اهم حصو بڻجي چڪو آهي جيئن ورهايل سسٽم جي پيچيدگي وڌائي ٿي. انهن جي رويي کي سمجهڻ جي ضرورت آهي. اسان کي اسپيبلبل اوزارن جي ضرورت آھي جيڪي سڀني خدمتن مان ڊيٽا گڏ ڪري سگھن ٿا - ۽ ماهرن کي ھڪڙي انٽرفيس سان گڏ ڪارڪردگي جي تجزيي، غلطي جي نمائش، دستيابي ۽ لاگس سان مهيا ڪن ٿا.
اهي ساڳيون اوزار ڪارائتو ۽ پيداوار هجڻ گهرجن. هن آرٽيڪل ۾، اسان ٻه مشهور ٽيڪنالاجي اسٽيڪ تي نظر ڪنداسين: EFK (Elasticsearch) ۽ PLG (Loki) ۽ انهن جي تعميرات ۽ اختلافن کي جانچيندا.
EFK اسٽيڪ
توهان شايد اڳ ۾ ئي ٻڌو آهي تمام مشهور ELK يا EFK بابت. اسٽيڪ ڪيترن ئي مختلف حصن تي مشتمل آهي: Elasticsearch (Object Storage)، Logstash يا FluentD (لاگ ڪليڪشن ۽ ايگريگيشن)، ۽ ويزولائيزيشن لاءِ Kibana.
هڪ عام ڪم فلو هن طرح نظر اچي ٿو:
ElasticsSearch - ڳولا ۽ حقيقي وقت جي تجزيي سان ورهايل اعتراض اسٽوريج. نيم ٺهيل ڊيٽا لاءِ بهترين حل جهڙوڪ لاگ. معلومات محفوظ ڪئي وئي آهي JSON دستاويزن، حقيقي وقت ۾ ترتيب ڏنل ۽ ڪلستر نوڊس ۾ ورهايل. هڪ inverted index استعمال ڪيو ويندو آهي، جنهن ۾ سڀني منفرد لفظن ۽ لاڳاپيل دستاويزن تي مشتمل آهي مڪمل متن جي ڳولا لاءِ، جنهن جي نتيجي ۾ Apache Lucene سرچ انجڻ تي ٻڌل آهي.
رواني ڊي هڪ ڊيٽا ڪليڪٽر آهي جيڪو ڊيٽا گڏ ڪري ٿو جڏهن ان کي گڏ ڪرڻ ۽ استعمال ڪرڻ. اهو ممڪن طور تي JSON ۾ ڊيٽا کي منظم ڪرڻ جي ڪوشش ڪري ٿو. ان جي فن تعمير extensible آهي، اتي وڌيڪ آهن سوين مختلف واڌايون، ڪميونٽي جي مدد سان، سڀني موقعن لاءِ.
ڪبيانا - مختلف اضافي صلاحيتن سان Elasticsearch لاءِ ڊيٽا بصري اوزار، مثال طور، ٽائيم سيريز تجزيو، گراف تجزيو، مشين لرننگ ۽ وڌيڪ.
لچڪدار ڳولها فن تعمير
Elasticsearch ڪلستر ڊيٽا ان جي سڀني نوڊس ۾ پکڙيل آهي. هڪ ڪلستر ڪيترن ئي نوڊس تي مشتمل آهي دستيابي ۽ استحڪام کي بهتر ڪرڻ لاءِ. ڪو به نوڊ ڪلستر جي سڀني ڪردارن کي انجام ڏئي سگھي ٿو، پر وڏي پيماني تي ٺاھڻ ۾، نوڊس عام طور تي انفرادي ڪمن کي مقرر ڪيو ويو آھي.
حيرت نه ٿيو جيڪڏهن توهان هن مخفف کي نه ڳولي سگهو ٿا، جيئن اهو بهتر طور سڃاتو وڃي ٿو Grafana Loki. ڪنهن به صورت ۾، هي اسٽيڪ مقبوليت حاصل ڪري رهيو آهي ڇاڪاڻ ته اهو ثابت ٿيل ٽيڪنيڪل حل استعمال ڪندو آهي. توهان شايد اڳ ۾ ئي ٻڌو هوندو Grafana، هڪ مشهور بصري اوزار. ان جي ٺاهيندڙن، پروميٿيس کان متاثر ٿي، لوڪي، افقي طور تي اسپيبلبل، اعلي ڪارڪردگي لاگ مجموعي سسٽم کي ترقي ڪئي. لوڪي صرف ميٽاداٽا کي ترتيب ڏئي ٿو، نه ته جرنلز پاڻ، هڪ ٽيڪنيڪل حل جيڪو ان کي استعمال ڪرڻ آسان ۽ قيمتي اثرائتي ڪرڻ جي اجازت ڏئي ٿو.
Loki Prometheus جي ساڳين اصولن تي ٺهيل آهي، جيڪا ڪبرنيٽس لاگز کي محفوظ ڪرڻ ۽ تجزيو ڪرڻ لاءِ چڱيءَ طرح موزون بڻائي ٿي.
لوڪ فن تعمير
لوڪ کي هلائي سگھجي ٿو يا ته ھڪڙي عمل جي طور تي يا گھڻن عملن جي طور تي، افقي اسڪيلنگ جي اجازت ڏئي ٿي.
اهو پڻ ڪم ڪري سگهي ٿو يا ته هڪ monolithic اپليڪيشن يا هڪ microservice طور. ھڪڙي عمل جي طور تي ھلڻ مقامي ترقي يا معمولي نگراني لاء ڪارائتو ٿي سگھي ٿو. صنعتي عمل درآمد ۽ اسپيبلبل ڪم لوڊ لاء، اهو microservice اختيار استعمال ڪرڻ جي سفارش ڪئي وئي آهي. ڊيٽا لکڻ ۽ پڙهڻ لاءِ رستا الڳ ڪيا ويا آهن، ان ڪري ان کي ضرورت مطابق ترتيب ۽ ماپ ڪري سگهجي ٿو.
اچو ته تفصيل ۾ وڃڻ جي بغير لاگ گڏ ڪرڻ واري نظام جي فن تعمير کي ڏسو:
۽ هتي بيان آهي (microservice فن تعمير):
اجزاء:
Promtail - هڪ ايجنٽ نوڊس تي نصب ڪيو ويو آهي (سروسز جي هڪ سيٽ جي طور تي)، اهو لاگز کي ڪمن مان هٽائي ٿو ۽ ميٽا ڊيٽا حاصل ڪرڻ لاءِ ڪبرنيٽس API تائين رسائي ڪري ٿو جيڪو لاگز کي ٽيگ ڪندو. اهو وري لاگ موڪلي ٿو مکيه لوڪي سروس ڏانهن. ميٽا ڊيٽا ميپنگ ساڳئي ٽيگنگ قاعدن جي حمايت ڪري ٿي جيئن Prometheus.
تقسيم - هڪ خدمت ورهائيندڙ جيڪو ڪم ڪري ٿو بفر طور. لکين رڪارڊن کي پروسيس ڪرڻ لاءِ، اهو ايندڙ ڊيٽا کي پيڪ ڪري ٿو، ان کي بلاڪن ۾ دٻائڻ سان جيئن اچي ٿو. ڪيترائي ڊيٽا sinks هڪ ئي وقت هلندا آهن، پر هڪ ايندڙ ڊيٽا اسٽريم سان تعلق رکندڙ لاگ ان جي سڀني بلاڪن لاءِ صرف انهن مان هڪ ۾ ظاهر ٿيڻ گهرجن. هي سنڪ جي هڪ انگ ۾ منظم ڪيو ويو آهي ۽ ترتيب وار هيشنگ. غلطي رواداري ۽ بيڪارگي لاء، اهو ڪيو ويندو آهي ن ڀيرا (3 جيڪڏهن ترتيب ڏنل نه هجي).
انجيسٽر - خدمت وصول ڪندڙ. ڊيٽا بلاڪ شامل ٿيل لاگز سان گڏ ٺهڪندڙ پهچي ويندا آهن. هڪ دفعو بلاڪ ڪافي سائيز جو آهي، بلاڪ ڊيٽابيس ڏانهن ڦهليل آهي. ميٽا ڊيٽا انڊيڪس ڏانهن وڃي ٿي، ۽ لاگ بلاڪ مان ڊيٽا چنن ڏانهن وڃي ٿي (عام طور تي اعتراض اسٽوريج). ريٽ ڪرڻ کان پوء، وصول ڪندڙ هڪ نئون بلاڪ ٺاهي ٿو جتي نوان داخل ڪيا ويندا.
اشهد - ڊيٽابيس، DynamoDB، Cassandra، Google BigTable، وغيره.
Chunks - لاگ بلاڪ کمپريس ٿيل فارم ۾، عام طور تي ذخيرو ٿيل شيون اسٽوريج ۾، مثال طور، S3.
سوال ڪندڙ - پڙهڻ جو رستو جيڪو تمام گندو ڪم ڪري ٿو. اهو ڏسڻ ۾ اچي ٿو وقت جي حد ۽ ٽائم اسٽيمپ، ۽ پوءِ ڏسڻ ۾ اچي ٿو انڊيڪس کي ملائڻ لاءِ. اڳيون، اهو ڊيٽا جا بلاڪ پڙهي ٿو ۽ نتيجو حاصل ڪرڻ لاء انهن کي فلٽر ڪري ٿو.
هاڻي اچو ته سڀ ڪجهه عمل ۾ ڏسو.
تنصيب
Kubernetes ۾ انسٽال ڪرڻ جو آسان طريقو ھيلم استعمال ڪرڻ آھي. اسان سمجهون ٿا ته توهان اڳ ۾ ئي انسٽال ڪيو آهي ۽ ان کي ترتيب ڏنو آهي (۽ ٽيون نسخو!لڳ ڀڳ مترجم)
هاڻي اچو ته ٻنهي سسٽم جي فن تعمير تي بحث ڪريون، ۽ انهن جي صلاحيتن جو هڪ ٻئي سان مقابلو پڻ ڪريو.
مقابلي ۾
سوال جي ٻولي
Elasticsearch مڪمل متن جي ڳولا جون صلاحيتون مهيا ڪرڻ لاءِ Query DSL ۽ Lucene query language استعمال ڪري ٿو. اهو هڪ قائم، طاقتور سرچ انجڻ آهي جيڪو وسيع آپريٽر سپورٽ سان. ان سان گڏ، توھان ڳولهي سگھوٿا حوالن سان ۽ ترتيب سان ترتيب ڏيو.
انگ جي ٻئي پاسي LogQL آهي، Loki ۾ استعمال ٿئي ٿو، PromQL جو جانشين (Prometheus query language). اهو لاگ ڊيٽا کي فلٽر ڪرڻ ۽ چونڊڻ لاءِ لاگ ٽيگ استعمال ڪندو آهي. اهو ممڪن آهي ته ڪجهه آپريٽرز ۽ رياضيات کي استعمال ڪرڻ لاء جيئن بيان ڪيو ويو آهي هتيپر قابليت جي لحاظ کان اها لچڪدار ٻولي کان پوئتي آهي.
جيئن ته لوڪي ۾ سوالن جو تعلق ٽيگ سان آهي، اهي ميٽرڪس سان لاڳاپا آسان آهن، ۽ نتيجي طور، اهي آپريشنل نگراني کي منظم ڪرڻ ۾ آسان آهن.
اسڪاليبلٽي
ٻئي اسٽيڪ افقي طور تي اسپيبلبل آهن، پر لوڪي ان کي آسان بڻائي ٿو ڇو ته ان ۾ الڳ پڙهڻ ۽ لکڻ جا رستا ۽ هڪ مائڪرو سروس آرڪيٽيڪچر آهي. Loki توهان جي ضرورتن مطابق ترتيب ڏئي سگهجي ٿو ۽ لاگ ڊيٽا جي تمام وڏي مقدار لاءِ استعمال ٿي سگهي ٿو.
گھڻائي
OPEX مخفف ۾ ڪلسٽر ملٽيٽيننسي هڪ عام موضوع آهي، ٻئي اسٽيڪ ملٽي ٽيننسي مهيا ڪن ٿا. Elasticsearch لاءِ ڪيترائي آھن طريقا ڪلائنٽ جي علحدگي: هر ڪلائنٽ لاءِ الڳ انڊيڪس، ڪلائنٽ تي ٻڌل روٽنگ، منفرد ڪلائنٽ فيلڊ، سرچ فلٽر. لوڪ وٽ آهي حمايت HTTP X-Scope-OrgID هيڊر جي صورت ۾.
جي قيمت
لوڪي ڪافي قيمتي اثرائتي آهي انهي حقيقت جي ڪري ته اهو ڊيٽا کي انڊيڪس نٿو ڪري، صرف ميٽا ڊيٽا. اهو حاصل ڪري ٿو ذخيرو تي بچت ۽ ياداشت (ڪيش)، ڇاڪاڻ ته آبجیکٹ اسٽوريج بلاڪ اسٽوريج کان سستي آهي، جيڪا ايلسٽسٽڪ سرچ ڪلستر ۾ استعمال ٿئي ٿي.
ٿڪل
EFK اسٽيڪ مختلف مقصدن لاءِ استعمال ٿي سگھي ٿو، وڌ ۾ وڌ لچڪ ۽ خصوصيت سان مالامال Kibana انٽرفيس مهيا ڪرڻ لاءِ تجزياتي، بصري، ۽ سوالن لاءِ. اهو مشين سکيا جي صلاحيتن کي وڌيڪ وڌائي سگهجي ٿو.
لوڪي اسٽيڪ ڪبرنيٽس ايڪو سسٽم ۾ مفيد آهي ڇاڪاڻ ته ان جي ميٽا ڊيٽا دريافت جي ميڪانيزم جي ڪري. توهان گرافانا ۽ لاگز ۾ ٽائيم سيريز جي بنياد تي مانيٽرنگ لاءِ ڊيٽا کي آساني سان ڳنڍي سگهو ٿا.