ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها

سلام، نام من یوجین است، من یک رهبر تیم B2B در Citymobil هستم. یکی از وظایف تیم ما پشتیبانی از ادغام برای سفارش تاکسی از شرکا است و برای اطمینان از یک سرویس پایدار، ما همیشه باید آنچه را که در میکروسرویس های خود اتفاق می افتد درک کنیم. و برای این شما باید به طور مداوم سیاهههای مربوط را نظارت کنید.

در Citymobil، ما از پشته ELK (ElasticSearch، Logstash، Kibana) برای کار با گزارش‌ها استفاده می‌کنیم، و حجم داده‌هایی که به آنجا می‌آیند بسیار زیاد است. یافتن مشکلاتی در این انبوه از درخواست ها که ممکن است پس از استقرار کد جدید ظاهر شوند بسیار دشوار است. و برای شناسایی بصری آنها، کیبانا دارای بخش داشبورد است.

مقالات زیادی در Habré با نمونه هایی از نحوه راه اندازی یک پشته ELK برای دریافت و ذخیره داده ها وجود دارد، اما هیچ مطلب مرتبطی در مورد ایجاد داشبورد وجود ندارد. بنابراین، من می خواهم نشان دهم که چگونه می توان یک نمایش تصویری از داده ها بر اساس گزارش های ورودی در کیبانا ایجاد کرد.

تنظیم

برای واضح تر شدن، من یک تصویر Docker با ELK و Filebeat ایجاد کردم. و در یک ظرف کوچک قرار داده شده است برنامه در Go، که برای مثال ما لاگ های آزمایشی را تولید می کند. من پیکربندی ELK را با جزئیات شرح نمی دهم، به اندازه کافی در مورد آن در Habré نوشته شده است.

مخزن پیکربندی را کلون کنید docker-compose و تنظیمات ELK را با دستور اجرا کنید docker-compose up. عمداً کلید اضافه نمی کند -dبرای مشاهده پیشرفت پشته ELK.

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 کیبانا باید باز شود.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
تنها چیزی که باید پیکربندی کنیم این است که یک Index Pattern برای Kibana با اطلاعاتی در مورد اینکه چه داده هایی را نمایش دهیم ایجاد کنیم. برای انجام این کار، یک درخواست 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"}}'

ایجاد یک الگوی شاخص از طریق رابط کاربری گرافیکی
برای پیکربندی، بخش Discover را در منوی سمت چپ انتخاب کنید و به صفحه ایجاد الگوی فهرست بروید.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
با کلیک بر روی دکمه "ایجاد الگوی شاخص" به صفحه ایجاد فهرست می رسیم. در قسمت «نام الگوی فهرست»، «logstash-*» را وارد کنید. اگر همه چیز به درستی پیکربندی شده باشد، در زیر کیبانا ایندکس هایی که تحت قانون قرار می گیرند نشان می دهد.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
در صفحه بعد، فیلد کلید را با مهر زمانی انتخاب کنید، در مورد ما چنین است @timestamp.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
با این کار صفحه تنظیمات ایندکس ظاهر می شود، اما در حال حاضر نیازی به اقدام بیشتری از سوی ما نیست.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها

اکنون می‌توانیم دوباره به بخش Discover برویم، جایی که ورودی‌های گزارش را مشاهده خواهیم کرد.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها

داشبورد

در منوی سمت چپ، روی قسمت Dashboard create کلیک کنید و به صفحه مربوطه بروید.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
روی "ایجاد داشبورد جدید" کلیک کنید و به صفحه اضافه کردن اشیا به داشبورد بروید.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
بر روی دکمه "ایجاد جدید" کلیک کنید، سیستم از شما می خواهد که نوع نمایش داده را انتخاب کنید. Kibana تعداد زیادی از آنها را دارد، اما ما به ایجاد یک نمایش گرافیکی از "نوار عمودی" و یک "جدول داده" جدولی خواهیم پرداخت. انواع دیگر ارائه نیز به روشی مشابه پیکربندی شده اند. 
ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
برخی از اشیاء موجود دارای برچسب B و E هستند، به این معنی که قالب آزمایشی یا در آزمایش بتا است. با گذشت زمان، قالب ممکن است تغییر کند یا کاملاً از کیبانا ناپدید شود.

نوار عمودی

برای مثال "نوار عمودی"، بیایید یک هیستوگرام از نسبت وضعیت های پاسخ موفق و ناموفق سرویس خود ایجاد کنیم. در پایان تنظیمات، نمودار زیر را دریافت می کنیم:

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
ما تمام درخواست‌هایی را با وضعیت پاسخ < 400 به عنوان موفق و >= 400 به عنوان مشکل طبقه‌بندی می‌کنیم.

برای ایجاد نمودار "نوار عمودی" باید یک منبع داده را انتخاب کنیم. الگوی Index را که قبلا ایجاد کردیم انتخاب کنید.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
به طور پیش فرض، پس از انتخاب منبع داده، یک نمودار جامد ظاهر می شود. بیایید آن را تنظیم کنیم.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
در بلوک "Buckets"، دکمه "Add" را فشار دهید، "X-asis" را انتخاب کنید و محور X را تنظیم کنید. در فیلد "Aggregation"، "Date Histogram" و در "Field" "@timestamp" را انتخاب کنید، که فیلد زمان را نشان می دهد. بیایید "حداقل فاصله" را در حالت "خودکار" بگذاریم و به طور خودکار با صفحه نمایش ما تنظیم می شود. 

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
با کلیک بر روی دکمه "به روز رسانی" نموداری با تعداد درخواست ها در هر 30 ثانیه مشاهده می کنیم.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
حالا بیایید ستون ها را در امتداد محور Y تنظیم کنیم.اکنون تعداد کل درخواست ها را در بازه زمانی انتخاب شده نمایش می دهیم.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
بیایید مقدار "Aggregation" را به "Sum Bucket" تغییر دهیم، که به ما امکان می دهد داده ها را برای درخواست های موفق و ناموفق ترکیب کنیم. در بلوک Bucket -> Aggregation، تجمیع را با "Filters" انتخاب کنید و فیلتر را با "statusCode >= 400" تنظیم کنید. و در قسمت "برچسب سفارشی"، نام نشانگر خود را برای نمایش قابل درک تر در افسانه روی نمودار و در لیست کلی نشان می دهیم.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
با کلیک بر روی دکمه "به روز رسانی" در زیر بلوک تنظیمات، نموداری با درخواست های مشکل دریافت می کنیم.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
اگر روی دایره کنار افسانه کلیک کنید، پنجره ای ظاهر می شود که در آن می توانید رنگ ستون ها را تغییر دهید.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
حالا بیایید داده های مربوط به درخواست های موفق را به نمودار اضافه کنیم. در بخش «متریک»، روی دکمه «افزودن» کلیک کنید و «محور Y» را انتخاب کنید.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
در متریک ایجاد شده، تنظیمات مشابه درخواست های اشتباه را انجام می دهیم. فقط در فیلتر "statusCode < 400" را مشخص می کنیم.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
با تغییر رنگ ستون جدید، نمایشی از نسبت درخواست های مشکل دار و موفق دریافت می کنیم.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
با کلیک بر روی دکمه "ذخیره" در بالای صفحه و تعیین نام، اولین نمودار را در داشبورد مشاهده خواهیم کرد.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها

جدول داده

حال نمای جدولی «جدول داده» را در نظر بگیرید. بیایید یک جدول با لیستی از تمام URL های درخواست شده و تعداد آن درخواست ها ایجاد کنیم. مانند مثال نوار عمودی، ابتدا یک منبع داده را انتخاب می کنیم.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
پس از آن، جدولی با یک ستون روی صفحه نمایش داده می شود که تعداد کل درخواست ها را برای بازه زمانی انتخاب شده نشان می دهد.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
ما فقط بلوک "Buckets" را تغییر خواهیم داد. روی دکمه "افزودن" کلیک کنید و "Split rows" را انتخاب کنید.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
در قسمت "Aggregation"، "Terms" را انتخاب کنید. و در قسمت ظاهر شده "Field" "url.keyword" را انتخاب کنید.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
با مشخص کردن مقدار "Url" در قسمت "Custom label" و کلیک بر روی "Update"، جدول مورد نظر را با تعداد درخواست های هر یک از URL ها در بازه زمانی انتخاب شده دریافت می کنیم.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
در بالای صفحه، دوباره روی دکمه "ذخیره" کلیک کنید و نام جدول را مشخص کنید، به عنوان مثال Urls. بیایید به داشبورد برگردیم و هر دو نمای ایجاد شده را ببینیم.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها

کار با داشبورد

هنگام ایجاد داشبورد، ما فقط پارامترهای نمای اولیه را در تنظیمات شیء نمایش تنظیم می کنیم. معنی ندارد که داده ها را برای فیلترها در اشیا مشخص کنید، به عنوان مثال، "محدوده تاریخ"، "فیلتر کردن توسط کاربر عامل"، "فیلتر کردن بر اساس کشور درخواست" و غیره. تعیین دوره زمانی مورد نظر یا تنظیم فیلتر لازم در پانل پرس و جو که در بالای اشیاء قرار دارد بسیار راحت تر است.

ایجاد داشبورد در کیبانا برای نظارت بر گزارش ها
فیلترهای اضافه شده در این پنل روی کل داشبورد اعمال خواهند شد و تمام اشیاء نمایشی مطابق با داده های فیلتر شده واقعی بازسازی خواهند شد.

نتیجه

Kibana ابزار قدرتمندی است که به شما امکان می دهد هر داده را به روشی راحت تجسم کنید. من سعی کردم تنظیمات دو نوع نمایشگر اصلی را نشان دهم. اما انواع دیگر به روشی مشابه پیکربندی شده اند. و فراوانی تنظیماتی که من "پشت صحنه" گذاشتم به شما این امکان را می دهد که نمودارها را به شکل بسیار انعطاف پذیری مطابق با نیازهای خود سفارشی کنید.

منبع: www.habr.com

اضافه کردن نظر