ELK Stack چیست؟
ELK stack به مجموعهای از سه پروژه محبوب به نامهای الاستیکسرچ (Elasticsearch)، لاگاستش (Logstash) و کیبانا (Kibana) گفته میشود. این پشته، که گاهی به اختصار الاستیکسرچ نامیده میشود، به شما امکان میدهد لاگهای همه سیستمها و برنامههای خود را جمعآوری، تحلیل و برای اهدافی مانند پایش برنامه و زیرساخت، عیبیابی سریع، تحلیلهای امنیتی و موارد دیگر، به صورت بصری نمایش دهید.
E = الاستیکسرچ (Elasticsearch)
الاستیکسرچ یک موتور جستوجو و تحلیل توزیعشده است که بر پایه آپاچی لوسین (Apache Lucene) ساخته شده. پشتیبانی از زبانهای مختلف، عملکرد بالا و پشتیبانی از اسناد JSON بدون نیاز به ساختار مشخص، آن را به گزینهای مناسب برای تحلیل لاگ و کاربردهای جستوجو تبدیل کرده است.
در ۲۱ ژانویه ۲۰۲۱، شرکت الاستیک (Elastic NV) اعلام کرد که سیاست صدور مجوز نرمافزار خود را تغییر میدهد و نسخههای جدید الاستیکسرچ و کیبانا را دیگر تحت مجوز آزاد آپاچی نسخه ۲ (ALv2) منتشر نمیکند. از آن پس، این نسخهها تحت مجوز الاستیک یا SSPL در دسترس هستند که آزاد محسوب نمیشوند و آزادیهای نسخههای قبلی را ندارند. اگر به دنبال مجموعهای امن، با کیفیت و کاملاً متنباز برای جستوجو و تحلیل هستید، میتوانید از پروژه اوپنسرچ (OpenSearch) استفاده کنید که نسخهای منشعبشده از الاستیکسرچ و کیبانا است و تحت مجوز ALv2 منتشر میشود.
L = لاگاستش (Logstash)
لاگاستش یک ابزار متنباز برای دریافت داده است که به شما امکان میدهد دادهها را از منابع مختلف جمعآوری، پردازش و به مقصد دلخواه ارسال کنید. به لطف فیلترهای آماده و بیش از ۲۰۰ افزونه، میتوان از هر نوع منبع یا قالب داده بهراحتی استفاده کرد.
لاگاستش یک ابزار سبکوزن، سمت سرور و متنباز است که دادهها را بهصورت بی درنگ از منابع گوناگون دریافت، تغییر داده و به مقصد مورد نظر ارسال میکند. این ابزار معمولاً برای تغذیه الاستیکسرچ به کار میرود و به دلیل هماهنگی قوی با آن، توانمندیهای پردازش لاگ و افزونههای زیاد، انتخابی محبوب برای بارگذاری داده در الاستیکسرچ محسوب میشود.
بارگذاری آسان دادههای بدون ساختار
لاگاستش (Logstash) این امکان را فراهم میکند که دادههای بدون ساختار را بهراحتی از منابع مختلف مانند لاگهای سیستم، لاگهای وبسایت و لاگهای سرورهای برنامه جمعآوری کنید.
فیلترهای آماده
لاگاستش دارای فیلترهای آمادهای است که به شما اجازه میدهد انواع رایج داده را بهراحتی تبدیل کرده، آنها را در الاستیکسرچ (Elasticsearch) ایندکس کنید و بدون نیاز به ساختن مسیرهای پیچیده برای تبدیل داده، جستوجو را آغاز نمایید.
معماری افزونهپذیر و انعطافپذیر
با بیش از ۲۰۰ افزونه آماده در گیتهاب (GitHub)، احتمال زیادی وجود دارد که افزونه مورد نیاز شما از پیش ساخته شده باشد. اما اگر افزونهای متناسب با نیاز شما موجود نباشد، بهسادگی میتوانید یکی برای خودتان بسازید.
K = کیبانا (Kibana)
کیبانا ابزاری برای بصریسازی و تحلیل داده است که در کاربردهایی مانند تحلیل لاگ، بررسی دادههای سری زمانی، پایش برنامه و تحلیل عملکرد سیستمها استفاده میشود. این ابزار قابلیتهایی قدرتمند و کاربرپسند مانند هیستوگرام، نمودار خطی، نمودار دایرهای، نقشه حرارتی و پشتیبانی درونساخت از دادههای جغرافیایی ارائه میدهد. همچنین، بهدلیل یکپارچگی کامل با الاستیکسرچ، کیبانا گزینه اصلی برای نمایش بصری دادههای ذخیرهشده در الاستیکسرچ به شمار میرود.
شما میتوانید کیبانا را بهصورت محلی، روی سرویس آمازون EC2 یا همراه با نسخههای دارای مجوز آپاچی (تا نسخه ۷.۱۰.۲) در سرویس Amazon OpenSearch اجرا کنید. اوپنسرچ داشبوردز جایگزینی متنباز برای کیباناست که قابل نصب و مدیریت توسط خود کاربر است. این ابزار از آخرین نسخه متنباز کیبانا (۷.۱۰.۲) منشعب شده و پیشرفتهای زیادی داشته و پشتیبانی خوبی از طرف پروژه اوپنسرچ دریافت میکند. در صورت اجرای محلی یا روی EC2، مسئولیت آمادهسازی زیرساخت، نصب نرمافزار و مدیریت سیستم با شماست. اما در سرویس OpenSearch، کیبانا یا اوپنسرچ داشبوردز بهصورت خودکار با دامنه شما راهاندازی شده و همه امور مربوط به مدیریت خوشه بهطور کامل توسط سرویس انجام میشود.
نمودارهای تعاملی
کیبانا نمودارها و گزارشهای قابل درکی ارائه میدهد که میتوانید از آنها برای مرور تعاملی لاگهای حجیم استفاده کنید. امکان جابهجایی پویا در بازههای زمانی، زوم روی بخشهای خاصی از دادهها و بررسی جزئیتر گزارشها برای استخراج اطلاعات کاربردی از دادهها وجود دارد.
پشتیبانی از نقشهها
کیبانا امکانات جغرافیایی قدرتمندی دارد که به شما این امکان را میدهد که اطلاعات جغرافیایی را بهراحتی روی دادههای خود لایهبندی کرده و نتایج را روی نقشهها مشاهده کنید.
تجمعها و فیلترهای از پیشساخته
با استفاده از تجمعها و فیلترهای از پیشساخته کیبانا، میتوانید تحلیلهای مختلفی مانند هیستوگرامها، پرسوجوهای بالاترین N و روندها را تنها در چند مرحله اجرا کنید.
داشبوردهای دسترسپذیر آسان
شما میتوانید بهراحتی داشبوردها و گزارشها را راهاندازی کرده و با دیگران به اشتراک بگذارید. تنها چیزی که برای مشاهده و بررسی دادهها نیاز دارید یک مرورگر است.
ELK stack چگونه کار میکند؟
- لاگاستش دادهها را دریافت، تغییر داده و به مقصد مناسب ارسال میکند.
- الاستیکسرچ دادههای دریافتشده را ایندکس، تحلیل و جستوجو میکند.
- کیبانا نتایج تحلیل را بهصورت بصری نمایش میدهد.
ELK stack چه کاری انجام میدهد؟
ELK stack برای حل مشکلات مختلفی از جمله تحلیل لاگها، جستوجوی اسناد، مدیریت اطلاعات و رویدادهای امنیتی (SIEM) و پایش کاربرد دارد. این پشته موتور جستوجو و تحلیل، دریافت داده و بصریسازی را فراهم میکند.
اهمیت ELK stack در چیست؟
ELK stack نیاز موجود در فضای تحلیل لاگها را برطرف میکند. با توجه به اینکه بخش بیشتری از زیرساختهای فناوری اطلاعات شما به فضای ابری عمومی منتقل میشود، به یک راهحل مدیریت و تحلیل لاگها نیاز دارید تا این زیرساختها را پایش کرده و لاگهای سرور، لاگهای برنامه و دادههای کلیکاستریم را پردازش کنید. ELK stack یک راهحل ساده اما قوی برای تحلیل لاگها فراهم میآورد تا توسعهدهندگان و مهندسان DevOps شما بتوانند بینشهای ارزشمندی در زمینه تشخیص خرابیها، عملکرد برنامه و پایش زیرساختها بهدست آورند، آنهم با هزینهای کم.