راهنمای کامل برای ELK – قسمت چهارم
Kibana
هیچ راه حل متمرکزی بدون ابزار تجزیه و تحلیل و تجسم کامل نیست. بدون امکان پرس و جو و نظارت موثر بر داده ها، صرفاً جمع آوری و ذخیره آن ها فایده چندانی ندارد. Kibana این نقش را در ELK Stack ایفا می کند – یک لایه تجزیه و تحلیل و تجسم قدرتمند در بالای Elasticsearch و Logstash.
کیبانا چیست؟
Kibana کاملاً منبع باز، یک رابط کاربری مبتنی بر مرورگر است که می تواند برای جستجو، تجزیه و تحلیل و تجسم داده های ذخیره شده در شاخص های Elasticsearch استفاده شود (کیبانا را نمی توان در ارتباط با پایگاه های داده دیگر استفاده کرد). Kibana به دلیل قابلیت های گرافیکی و بصری غنی خود که به کاربران اجازه می دهد حجم زیادی از داده ها را کاوش کنند، شهرت و محبوبیت خاصی دارد. Kibana را می توان روی لینوکس، ویندوز و مک با استفاده از .zip یا tar.gz، مخازن یا در Docker نصب کرد. Kibana روی node.js اجرا میشود و بستههای نصب به همراه باینریهای مورد نیاز داخلی هستند. درباره راه اندازی Kibana در آموزش Kibana ما بیشتر بخوانید.
لطفاً توجه داشته باشید که در نسخههای اخیر تغییراتی در مدل مجوز ایجاد شده است، از جمله گنجاندن ویژگیهای پایه X-Pack در بستههای نصب پیشفرض.
جستجو در کیبانا
جستجوی Elasticsearch برای پیام یا رشتههای گزارش خاص.
در نسخه های اخیر کیبانا، بهبودها و تغییراتی در نحوه جستجو اعمال شده است.
بهطور پیشفرض، کاربران اکنون از یک زبان جستجوی جدید به نام KQL (زبان پرس و جو کیبانا) برای جستجوی دادههای خود استفاده میکنند. کاربرانی که به روش قبلی – با استفاده از Lucene – عادت کردهاند، میتوانند این کار را نیز انجام دهند.
پرس و جو کیبانا برای خود یک هنر است و روش های مختلفی وجود دارد که می توانید برای انجام جستجو در داده های خود استفاده کنید. در اینجا برخی از رایج ترین انواع جستجو آورده شده است:
- جستجوهای متنی رایگان – Free text searches – برای جستجوی سریع یک رشته خاص استفاده می شود.
- جستجوهای سطح فیلد – Field-level searches – برای جستجوی یک رشته در یک فیلد خاص استفاده می شود.
- عبارات منطقی – Logical statements – برای ترکیب جستجوها در یک عبارت منطقی استفاده می شود.
- جستجوهای مجاورتی – برای جستجوی عبارات در مجاورت یک کاراکتر خاص استفاده می شود.
برای توضیح بیشتر در مورد انواع مختلف جستجو، آموزش Kibana را بررسی کنید.
Kibana searches cheat sheet
در زیر لیستی از چند نکته و بهترین شیوه برای استفاده از انواع جستجوی ذکر شده در بالا آمده است:
- از جستجوهای متن آزاد برای جستجوی سریع یک رشته خاص استفاده کنی. برای جستجوی تطابق دقیق، از نقل قول های دوتایی (“رشته”) استفاده کنید. مثال: “USA“
- از نماد * برای جایگزینی هر تعداد کاراکتر و ? نماد عام برای جایگزینی تنها یک کاراکتر.
- از پیشوند _exists_ برای یک فیلد برای جستجوی گزارش هایی که دارای آن فیلد هستند استفاده کنید. مثال: _exists_:response
- می توانید محدوده ای را در یک فیلد جستجو کنید.
مثالها: اگر از براکت [] استفاده میکنید، به این معنی است که نتایج شامل میشوند. اگر از {} استفاده می کنید، به این معنی است که نتایج منحصر به فرد هستند.
- هنگام استفاده از عبارات منطقی (مانند AND، OR، TO) در جستجو، از حروف بزرگ استفاده کنید. مثال: پاسخ:[400 تا 500]
- کاراکتر -،! و NOT برای تعریف اصطلاحات منفی
- جستجوهای مجاورتی برای جستجوی عبارات در مجاورت یک کاراکتر خاص مفید هستند. مثال: [categovi~2] تمام عباراتی را که در دو تغییر از [categovi] هستند جستجو می کند. جستجوهای مجاورت از منابع زیادی استفاده می کنند – عاقلانه استفاده کنید!
- جستجوی سطح فیلد برای فیلدهای تحلیل نشده متفاوت از جستجوی متن آزاد است.
مثال: اگر مقدار فیلد Error باشد – جستجوی فیلد: *rror پاسخ درستی را بر نمیگرداند.
- اگر یک عملگر منطقی را مشخص نکنید، پیش فرض OR است. مثال: جستجوی Error Exception، جستجوی Error OR Exception را انجام می دهد
- استفاده از حروف برجسته یک پرس و جو بسیار گران است و در صورت امکان باید از آن اجتناب کرد.
در Kibana 6.3، یک ویژگی جدید تجربه جستجو را ساده می کند و شامل قابلیت های تکمیل خودکار می شود. این ویژگی برای استفاده باید فعال شود و در حال حاضر آزمایشی است.
تکمیل خودکار کیبانا Kibana autocomplete
برای کمک به بهبود تجربه جستجو در Kibana، ویژگی تکمیل خودکار دستور جستجو را هنگام وارد کردن درخواست خود پیشنهاد میکند. همانطور که شما تایپ می کنید، فیلدهای مربوطه نمایش داده می شوند و می توانید تنها با چند کلیک درخواست را تکمیل کنید. این کار کل فرآیند را سرعت میبخشد و پرسوجو کیبانا را بسیار سادهتر میکند.
Kibana filtering
برای کمک به کاربران در جستجوها، Kibana دارای یک گفتگوی فیلتر است که امکان فیلتر کردن آسانتر داده های نمایش داده شده در نمای اصلی را فراهم می کند. برای استفاده از دیالوگ، کافی است روی دکمه Add a filter + در زیر کادر جستجو کلیک کنید و آزمایش شرطی ها را شروع کنید. فیلترها را می توان به صفحه Discover پین کرد، با استفاده از برچسب های سفارشی نامگذاری کرد، فعال/غیرفعال و معکوس کرد.
تجسم کیبانا Kibana visualizations
همانطور که در بالا ذکر شد، کیبانا به خاطر قابلیت های تجسم مشهور است. با استفاده از طیف گسترده ای از نمودارها و نمودارهای مختلف، می توانید داده های خود را به هر طریقی که می خواهید برش دهید. شما می توانید تجسم های سفارشی خود را با کمک vega و vega-lite ایجاد کنید. متوجه خواهید شد که می توانید تقریباً هر کاری را که می خواهید با داده های خود انجام دهید.
با این حال، ایجاد تجسم در حال حاضر همیشه ساده است و ممکن است زمان ببرد. کلید بدون دردسر کردن این فرآیند، دانستن اطلاعات شماست. هرچه بیشتر با گوشه ها و گوشه های مختلف داده های خود آشنا شوید، کار آسان تر است.
تجسم های Kibana بر روی جستارهای Elasticsearch ساخته شده اند. با استفاده از تجمیعهای Elasticsearch (مانند مجموع، میانگین، حداقل، بیشترین و غیره)، میتوانید اقدامات پردازشی مختلفی را انجام دهید تا تجسمهای خود روندها را در دادهها نشان دهند.
انواع تجسم Visualization types
تجسم در کیبانا به پنج نوع مختلف تجسم طبقه بندی می شود:
- Basic Charts (Area, Heat Map, Horizontal Bar, Line, Pie, Vertical bar)
- Data (Date Table, Gauge, Goal, Metric)
- Maps (Coordinate Map, Region Map)
- Time series (Timelion, Visual Builder)
- Other (Controls, Markdown, Tag Cloud)
در جدول زیر، عملکرد اصلی هر تجسم و یک مثال استفاده را شرح می دهیم:
Kibana dashboards
هنگامی که مجموعه ای از تجسم ها را آماده کردید، می توانید همه آنها را به یک تجسم جامع به نام داشبورد اضافه کنید. داشبوردها به شما امکان نظارت بر یک سیستم یا محیط را از نقطه نظر بالا برای همبستگی رویدادها و تجزیه و تحلیل روند آسان تر می دهند.
داشبوردها بسیار پویا هستند – می توان آنها را ویرایش کرد، به اشتراک گذاشت، با آنها بازی کرد، در حالت های مختلف نمایش باز کرد و موارد دیگر. با کلیک بر روی یک فیلد در یک تجسم خاص در داشبورد، کل داشبورد را مطابق با آن فیلتر میکنید (میبینید که فیلتری در بالای صفحه اضافه شده است).
برای اطلاعات بیشتر و نکاتی در مورد ایجاد داشبورد کیبانا، به ایجاد داشبورد کیبانا مراجعه کنید.
Kibana pages
نسخههای اخیر Kibana شامل صفحات اختصاصی برای ویژگیهای مختلف نظارت مانند APM و نظارت بر زیرساخت است. برخی از این ویژگیها قبلاً بخشی از X-Pack بودند، برخی دیگر مانند Canvas و Maps کاملاً جدید هستند:
- Canvas – «فتوشاپ» دادههای تولید شده توسط ماشین، Canvas یک ابزار تجسم پیشرفته است که به شما امکان میدهد لاگها و معیارهای خود را به روشهای خلاقانه جدید طراحی و تجسم کنید.
- Maps – برای تجزیه و تحلیل جغرافیایی طراحی شده است، این صفحه از چندین لایه و منابع داده، نقشه برداری از نقاط و اشکال جغرافیایی جداگانه، جستجوی جهانی برای تجزیه و تحلیل موقت، سفارشی سازی عناصر و موارد دیگر پشتیبانی می کند.
- Infrastructure – به شما کمک می کند تا اجزای مختلف سازنده زیرساخت شما مانند میزبان ها و کانتینرها را مشاهده کنید.
- Logs – برای ردیابی زنده گزارشهای ورودی که با Logstash به پشته ارسال میشوند.
- APM – برای کمک به نظارت بر عملکرد برنامه های خود و شناسایی تنگناها طراحی شده است.
- Uptime – به شما امکان می دهد با استفاده از یک رابط کاربری اختصاصی، بر اساس داده های ارسال شده به پشته با Heartbeat، وضعیت برنامه های خود را نظارت و اندازه گیری کنید.
- Stack Monitoring – داشبوردهای داخلی را برای نظارت بر Elasticsearch، Kibana، Logstash و Beats در اختیار شما قرار می دهد. نیاز به پیکربندی دستی دارد.
توجه: این صفحات تحت مجوز Apache 2.0 نیستند بلکه تحت مجوز Elastic Basic هستند.
Kibana Elasticsearch index
جستجوها، تجسم ها و داشبوردهای ذخیره شده در کیبانا، اشیاء نامیده می شوند. این اشیاء در یک فهرست اختصاصی Elasticsearch (.kibana) برای اشکال زدایی، اشتراک گذاری، استفاده مکرر و پشتیبان گیری ذخیره می شوند.
این شاخص به محض شروع Kibana ایجاد می شود. می توانید نام آن را در فایل پیکربندی کیبانا تغییر دهید. این فهرست شامل اسناد زیر است که هر کدام مجموعه ای از فیلدها را شامل می شود:
- Saved index patterns
- Saved searches
- Saved visualizations
- Saved dashboards
و در آخر
این مقاله عملکردهایی را که به احتمال زیاد از Kibana برای آنها استفاده خواهید کرد، توضیح داد، اما ابزارهای زیادی برای یادگیری و بازی با آنها وجود دارد. ابزارهای توسعه مانند کنسول وجود دارد، و اگر از X-Pack استفاده می کنید، ویژگی های نظارت و هشدار اضافی وجود دارد. توجه به این نکته مهم است که برای تولید، به احتمال زیاد باید برخی از عناصر را به Kibana اضافه کنید تا ایمن تر و قوی تر شود. به عنوان مثال، قرار دادن یک پروکسی مانند Nginx در مقابل Kibana یا وصل کردن یک لایه هشدار. این نیاز به پیکربندی یا هزینه های اضافی دارد. اگر به تازگی با کیبانا شروع کرده اید، این آموزش کیبانا را بخوانید.
منبع: https://logz.io/learn/complete-guide-elk-stack/#kibana
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.