لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ

هيلو، منهنجو نالو Evgeniy آهي، مان Citymobil ۾ B2B ٽيم جي اڳواڻي آهيان. اسان جي ٽيم جي ڪمن مان ھڪڙو آھي ڀائيوارن کان ٽيڪسي آرڊر ڪرڻ لاءِ انضمام کي سپورٽ ڪرڻ، ۽ ھڪ مستحڪم سروس کي يقيني بڻائڻ لاءِ اسان کي ھميشه سمجھڻ گھرجي ته اسان جي مائڪرو سروسز ۾ ڇا ٿي رھيو آھي. ۽ هن لاء توهان کي مسلسل لاگ ان جي نگراني ڪرڻ جي ضرورت آهي.

Citymobil تي، اسان لاگز سان ڪم ڪرڻ لاءِ ELK اسٽيڪ (ElasticSearch، Logstash، Kibana) استعمال ڪريون ٿا، ۽ اتي حاصل ڪيل ڊيٽا جو حجم تمام گھڻو آھي. درخواستن جي هن ڪاميٽي ۾، اهو مسئلو ڳولڻ ڏاڍو ڏکيو آهي جيڪو شايد نئين ڪوڊ جي لڳائڻ کان پوء ظاهر ٿئي. ۽ انهن کي واضح طور تي سڃاڻڻ لاءِ، ڪبانا وٽ ڊيش بورڊ سيڪشن آهي.

ھبري تي ڪافي ڪجھ مضمون آھن مثالن سان گڏ ڊيٽا حاصل ڪرڻ ۽ ذخيرو ڪرڻ لاءِ ELK اسٽيڪ ڪيئن قائم ڪجي، پر ڊيش بورڊ ٺاھڻ تي ڪو به لاڳاپيل مواد نه آھي. تنهن ڪري، مان اهو ڏيکارڻ چاهيان ٿو ته ڪبانا ۾ ايندڙ لاگن جي بنياد تي ڊيٽا جي بصري نمائندگي ڪيئن ٺاهي.

adjustment

ان کي وڌيڪ واضح ڪرڻ لاءِ، مون ٺاھيو ڊاڪر تصوير ELK ۽ Filebeat سان. ۽ ھڪڙو ننڍڙو ھڪڙو ڪنٽينر ۾ رکيو پروگرام Go ۾، جيڪو اسان جي مثال لاءِ ٽيسٽ لاگ ٺاهيندو. مان تفصيل سان بيان نه ڪندس ELK جي تشڪيل؛ هن بابت ڪافي لکيو ويو آهي Habré.

ٺاھ جوڙ سان گڏ مخزن کي ڪلون ڪرڻ docker-compose ۽ ELK سيٽنگون، ۽ ان کي حڪم سان لانچ ڪريو docker-compose up. مان مقصد تي ڪي شامل نه ڪري رهيو آهيان. -dELK اسٽيڪ جي عمل کي ڏسڻ لاء.

git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker-compose up

جيڪڏهن هر شي صحيح ترتيب سان ترتيب ڏني وئي آهي، ته پوء اسان لاگ ان ۾ هڪ داخلا ڏسندا سين (شايد فوري طور تي نه، سڄي اسٽيڪ سان ڪنٽينر کي لانچ ڪرڻ جو عمل ڪيترن ئي منٽن وٺي سگھي ٿو):

{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],"pid":6,"message":"http server running at http://0:5601"}

پتي جي ذريعي localhost:5061 ڪبابا کولڻ گهرجي.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
صرف هڪ شيءِ جيڪا اسان کي ترتيب ڏيڻ جي ضرورت آهي اها آهي ڪبانا لاءِ هڪ انڊيڪس پيٽرن ٺاهڻ جي معلومات سان ته ڪهڙي ڊيٽا کي ظاهر ڪيو وڃي. هن کي ڪرڻ لاء، اچو ته هڪ curl درخواست تي عمل ڪريو يا گرافڪ انٽرفيس ۾ عملن جو هڪ سلسلو ڪريو.

$ curl -XPOST -D- 'http://localhost:5601/api/saved_objects/index-pattern'
    -H 'Content-Type: application/json'
    -H 'kbn-xsrf: true'
    -d '{"attributes":{"title":"logstash-*","timeFieldName":"@timestamp"}}'

GUI ذريعي انڊيڪس پيٽرن ٺاهڻ
ترتيب ڏيڻ لاءِ، منتخب ڪريو دريافت سيڪشن کاٻي مينيو ۾ ۽ حاصل ڪريو انڊيڪس پیٹرن ٺاهڻ واري صفحي تي.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
"انڊيڪس نمونو ٺاهيو" بٽڻ تي ڪلڪ ڪندي، اسان کي انڊيڪس ٺاهڻ واري صفحي تي ورتو وڃي ٿو. "Index pattern name" فيلڊ ۾، "logstash-*" داخل ڪريو. جيڪڏهن هر شي صحيح ترتيب ڏني وئي آهي، هيٺ ڪبانا ڏيکاريندو انڊيڪس جيڪي ضابطي هيٺ اچي ويندا آهن.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
ايندڙ صفحي تي، ٽائم اسٽيمپ سان اهم فيلڊ چونڊيو، اسان جي صورت ۾ اهو آهي @timestamp.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
نتيجي طور، انڊيڪس سيٽنگون صفحو ظاھر ٿيندو، پر ھاڻي اسان کان اضافي ڪمن جي ضرورت نه آھي.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ

ھاڻي اسان Discover سيڪشن ڏانھن واپس وڃي سگھون ٿا، جتي اسان لاگ انٽريز ڏسندا.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ

ڊيش بورڊ

کاٻي مينيو ۾، ڊيش بورڊ ٺاھڻ واري سيڪشن تي ڪلڪ ڪريو ۽ لاڳاپيل صفحي ڏانھن وڃو.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
"نئون ڊيش بورڊ ٺاهيو" تي ڪلڪ ڪريو ۽ ڊيش بورڊ ۾ شيون شامل ڪرڻ لاءِ صفحي تي وڃو.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
"نئون ٺاهيو" بٽڻ تي ڪلڪ ڪريو، ۽ سسٽم توهان کي ڊيٽا ڊسپلي جي قسم کي چونڊڻ لاء اشارو ڏيندو. ڪيبانا ۾ انهن جو هڪ وڏو تعداد آهي، پر اسان هڪ گرافڪ نمائندگي ٺاهڻ تي نظر ڪنداسين "عمودي بار" ۽ هڪ ٽيبلر "ڊيٽا ٽيبل". پريزنٽيشن جا ٻيا قسم ساڳي طرح ترتيب ڏنل آھن. 
لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
ڪجھ دستياب شيون ليبل ٿيل آھن B ۽ E، ظاھر ڪري ٿو ته فارميٽ تجرباتي يا بيٽا ۾ آھي. وقت سان گڏ، فارميٽ تبديل ٿي سگھي ٿو يا مڪمل طور تي Kibana کان غائب ٿي سگھي ٿو.

عمودي بار

"عمودي بار" مثال لاءِ، اچو ته اسان جي خدمت جي ڪامياب ۽ ناڪام جوابي حالتن جي تناسب جو هڪ هسٽوگرام ٺاهيو. سيٽنگون مڪمل ڪرڻ کان پوء، اسان هيٺ ڏنل گراف حاصل ڪنداسين:

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
اسان ڪامياب سڀني درخواستن جي طور تي درجه بندي ڪنداسين جوابي صورتحال سان <400، ۽ جيئن مسئلو ->= 400.

"عمودي بار" چارٽ ٺاهڻ لاء، اسان کي ڊيٽا جو ذريعو چونڊڻ جي ضرورت آهي. انڊيڪس جو نمونو چونڊيو جيڪو اسان اڳ ۾ ٺاهيو.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
ڊفالٽ طور، هڪ دفعو توهان ڊيٽا جو ذريعو چونڊيو، هڪ مسلسل گراف ظاهر ٿيندو. اچو ته ان کي ترتيب ڏيو.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
"Buckets" بلاڪ ۾، "شامل ڪريو" بٽڻ تي ڪلڪ ڪريو، "X-asis" کي چونڊيو ۽ X-axis کي ترتيب ڏيو. اچو ته ان سان گڏ لاگ ان ۾ داخل ٿيندڙ رڪارڊ جي ٽائم اسٽيمپ کي پلاٽ ڪريو. "Aggregation" فيلڊ ۾، "تاريخ هسٽوگرام" چونڊيو، ۽ "فيلڊ" ۾ "@timestamp" چونڊيو، عارضي فيلڊ کي اشارو ڪندي. اچو ته "گهٽ ۾ گهٽ وقفو" کي "آٽو" حالت ۾ ڇڏي ڏيو، ۽ اهو خودڪار طريقي سان اسان جي ڊسپلي کي ترتيب ڏيندو. 

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
"تازه ڪاري" بٽڻ تي ڪلڪ ڪندي، اسان هر 30 سيڪنڊن جي درخواستن جي تعداد سان گڏ گراف ڏسندا.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
ھاڻي اچو ته ڪالمن کي سيٽ ڪريو Y محور تي. ھاڻي اسان چونڊيل وقت جي وقفي ۾ درخواستن جو ڪل تعداد ڏيکاريون ٿا.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
اچو ته "Aggregation" قدر کي "Sum Backet" ۾ تبديل ڪريون، جيڪو اسان کي ڪامياب ۽ ناڪام درخواستن مان ڊيٽا گڏ ڪرڻ جي اجازت ڏيندو. بالٽ ۾ -> مجموعي بلاڪ، "فلٽرز" ذريعي مجموعي چونڊيو ۽ "statusCode>= 400" ذريعي فلٽرنگ مقرر ڪريو. ۽ "ڪسٽم ليبل" جي فيلڊ ۾ اسان ڏيکاريون ٿا اسان جي اشاري جو نالو وڌيڪ واضح ڊسپلي لاءِ چارٽ تي ليجنڊ ۾ ۽ عام فهرست ۾.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
سيٽنگون بلاڪ جي هيٺان "تازه ڪاري" بٽڻ تي ڪلڪ ڪندي، اسان هڪ گراف حاصل ڪندا آهيون مشڪلاتي سوالن سان.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
جيڪڏهن توهان ڏند ڪٿا جي اڳيان دائري تي ڪلڪ ڪندا، هڪ ونڊو ظاهر ٿيندي جنهن ۾ توهان ڪالمن جو رنگ تبديل ڪري سگهو ٿا.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
ھاڻي اچو ته چارٽ ۾ ڪامياب درخواستن تي ڊيٽا شامل ڪريو. "ميٽرڪس" سيڪشن ۾، "شامل ڪريو" بٽڻ تي ڪلڪ ڪريو ۽ "Y-axis" چونڊيو.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
ٺاهيل ميٽرڪ ۾ اسان ساڳيون سيٽنگون ٺاهيندا آهيون جيئن غلط درخواستن لاءِ. صرف فلٽر ۾ اسان اشارو ڪريون ٿا "statusCode <400".

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
نئين ڪالمن جي رنگ کي تبديل ڪندي، اسان کي مشڪلاتي ۽ ڪامياب درخواستن جي تناسب جو هڪ ڊسپلي حاصل ڪيو.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
اسڪرين جي چوٽي تي "محفوظ" بٽڻ تي ڪلڪ ڪندي ۽ نالو بيان ڪندي، اسان ڊيش بورڊ تي پهريون گراف ڏسندا سين.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ

ڊيٽا ٽيبل

ھاڻي اچو ته ڏسو ”ڊيٽا ٽيبل“ جدول جو ڏيک. اچو ته سڀني URLs جي هڪ فهرست سان هڪ ٽيبل ٺاهيو جنهن ۾ درخواستون هيون ۽ انهن درخواستن جو تعداد. جيئن عمودي بار جي مثال ۾، اسان پهريون ڀيرو ڊيٽا جو ذريعو چونڊيو.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
ان کان پوء، ھڪڙي ڪالمن سان ھڪڙي ٽيبل اسڪرين تي ڏيکاري ويندي، جيڪا چونڊيل وقت جي وقفي لاء درخواستن جو ڪل تعداد ڏيکاريندي.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
اسان صرف "Buckets" بلاڪ کي تبديل ڪنداسين. "شامل ڪريو" بٽڻ تي ڪلڪ ڪريو ۽ "قطار ورهايو" چونڊيو.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
"Aggregation" فيلڊ ۾، "شرط" چونڊيو. ۽ "فيلڊ" فيلڊ ۾ جيڪو ظاهر ٿئي ٿو، "url.keyword" چونڊيو.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
"ڪسٽم ليبل" فيلڊ ۾ "Url" جي قيمت کي بيان ڪندي ۽ "اپڊيٽ" تي ڪلڪ ڪندي، اسان کي گهربل جدول حاصل ڪنداسين درخواستن جي تعداد سان گڏ هر URL جي چونڊيل مدت لاءِ.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
اسڪرين جي چوٽي تي، "محفوظ ڪريو" بٽڻ تي ٻيهر ڪلڪ ڪريو ۽ ٽيبل جو نالو بيان ڪريو، مثال طور Urls. اچو ته ڊيش بورڊ ڏانهن واپس وڃو ۽ ڏسو ٻنهي نظريا ٺاهيل.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ

ڊيش بورڊ سان ڪم ڪرڻ

جڏهن ڊيش بورڊ ٺاهيندي، اسان ڊسپلي اعتراض سيٽنگون ۾ صرف بنيادي ڏيک پيٽرولر مقرر ڪندا آهيون. شين ۾ فلٽرن لاءِ ڊيٽا جي وضاحت ڪرڻ جو ڪو به مقصد ناهي، مثال طور، "تاريخ جي حد"، "استعمال ڪندڙ طرفان فلٽرنگ"، "درخواست جي ملڪ طرفان فلٽرنگ"، وغيره. اهو مطلوب وقت جي مدت کي بيان ڪرڻ يا سوال پينل ۾ ضروري فلٽرنگ مقرر ڪرڻ لاء وڌيڪ آسان آهي، جيڪو اعتراض جي مٿان واقع آهي.

لاگ مانيٽر ڪرڻ لاءِ ڪبانا ۾ ڊيش بورڊ ٺاهڻ
ھن پينل ۾ شامل ڪيل فلٽر سڄي ڊيش بورڊ تي لاڳو ڪيا ويندا، ۽ سڀ ڊسپلي شيون موجوده فلٽر ٿيل ڊيٽا جي مطابق ترتيب ڏني وينديون.

ٿڪل

Kibana هڪ طاقتور اوزار آهي جيڪو توهان کي ڪنهن به ڊيٽا کي آسان طريقي سان ڏسڻ جي اجازت ڏئي ٿو. مون ٻن مکيه قسمن جي ڊسپلي جي سيٽ اپ کي ڏيکارڻ جي ڪوشش ڪئي. پر ٻين قسمن کي ساڳي طرح ترتيب ڏنو ويو آهي. ۽ سيٽنگن جي گهڻائي جيڪا مون پردي جي پويان ڇڏي ڏني آهي توهان کي توهان جي ضرورتن مطابق چارٽ کي تمام لچڪدار طريقي سان ترتيب ڏيڻ جي اجازت ڏيندو.

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

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