در قسمت اول و دوم از مقاله مفهوم MSaaS به بررسی معماری Multiple Splunk as a Service و همچنین مزایای استفاده از آن پرداختیم و در این قسمت که قسمت پایانی نیز می باشد به بررسی معماری Splunk Enterprise خواهیم پرداخت.
یک رویکرد سرویس محور برای پیادهسازی
پیادهسازی Instanceهای جدید Splunk Enterprise، با یک رویکرد سرویس محور تسهیل میگردد: زمانی که چارچوب MSaaS مطلوب باشد، مدیران میتوانند بخش جدیدی را از طریق درخواست سرویس، آمادهسازی و پیادهسازی نمایند. تحلیل ویژگیهای مورد نیاز برای هر یک از Instanceهای Splunk Entersprise به عنوان گام اول در طراحی معماری MSaaS به شمار میرود. ویژگیهای معمول عبارتند از:
- میزان Index نمودن روزانه دادهها
- الزامات Licensing و Chargeback
- میزان ذخیرهسازی
- Policyهای حفظ و نگهداری
- شرایط مربوط به قابلیت ترمیمپذیری (Resilience)
- آمادهسازی برنامههای کاربردی
- شرایط Disaster Recovery
- شرایط مربوط به تفکیک دادهها و حوزه عملکرد
شرایط مربوط به تفکیک دادهها و حوزه عملکرد از نحوه ترتیبدهیِ جمعآوری دادهها برای هر یک از بخشها محقق میشود. درخواست سرویس برای یک بخش جدید شامل فهرستی از منابع دادهها (یا End Pointها)، برآوردی از میزان دادههای ایجاد شده در طول روز و روشهای شناسایی دادههای ضروری یا غیرضروری برای هر یک از بخشها میشود. هر یک از End Pointها این قابلیت را دارند که دادهها را به هر یک از بخشها ارسال نمایند، ضمن اینکه امکان ارسال هر یک از رویدادهای جمعآوری شده به چندین بخش نیز وجود دارد.
پس از تعریف مجموعهای از ویژگیها برای این بخشها، باید مکانیسمی را برای تعیین درخواست ارائه نمود، به عنوان مثال از یک فرم آنلاین استفاده کرد. با مجموعه ویژگیهای از پیش تعیین شده که انواع معمول Instanceها را تعریف میکنند، فرآیند انتخاب این نوع Instanceها برای کاربران تسهیل میگردد.
ایجاد اسکریپتها جهت تعیین مشخصات Instanceهای جدید برای فرآیند پیادهسازی خودکار به عنوان گام نهایی در طراحی MSaaS محسوب میشود. علاوه بر آن، فرآیند ارائه اجزای مورد نیاز Splunk Enterprise برای Instance جدید با استفاده از ابزارهای مدیریت پیکربندی، خودکار میگردد. ابزارهای VCS نیز برای حفظ کنترل اسکریپتها، فایلهای پیکربندی، Add-Onها و برنامههای کاربردی مورد استفاده برای Instanceها به کار میرود.
در صورت اجرای معماری MSaaS میتوان درخواست سرویس را ارائه نمود. هر یک از درخواستهای سرویس شامل اطلاعات دقیق در مورد ویژگیهای مربوط به Instanceهای جدید میشود. در صورت ارائه درخواست، فرآیند خودکار ایجاد شده و اجزای مورد نیاز Splunk Enterprise برای آن سرویس پیادهسازی میگردد.
مفاهیم اصلی معماری MSaaS
در چارچوب MSaaS از مفاهیم معمول معماری Splunk Enterprise استفاده میشود؛ هر یک از بخشها در معماری MSaaS شامل فرآیند کامل و سنتی پیادهسازی Splunk Enterprise است. چارچوب MSaaS با تکیه بر معماری سنتی، مفاهیم جدیدی از بخشها، Bridgeها، مسیریابی، حوزههای عملکرد و سرور پیادهسازی MSaaS را اضافه مینماید.
در ادامه این مقاله، به بازنگری کوتاهی از معماری Splunk Enterprise میپردازیم.
مفاهیم معماری Splunk Enterprise
هر فرآیند پیادهسازی Splunk Enterprise در سطوح بالا شامل لایه جمعآوری دادهها، لایهIndexing و لایه جستجو میباشد. لایه جمعآوری دادهها در واقع از دادهها استفاده مینماید. لایهIndexing نیز دادههای ورودی را Index کرده و درخواستهای جستجو شده را از لایه جستجو ارائه مینماید. لایه جستجو نیز درخواست جستجوهای تعاملی یا برنامهریزی شده را از لایهIndexing در مورد دادهها ارائه نموده و سپس نتایج را ارائه، ادغام یا ذخیره مینماید.
در پیادهسازیهای در مقیاس کوچک، یک کامپیوتر میتواند شرایط منابع برای هر سه لایه را مدیریت نماید. با این وجود، قابلیت عملکرد معمولا در میان چندین مورد از اجزای تخصصی Splunk Enterprise تقسیم میشود که در پلتفرمهای محاسباتی جداگانه اجرا میشوند (شکل 1). هر یک از اجزا میتوانند یک یا چند نقش مانند Index نمودن یا جستجو را اجرا کنند. به منظور دستیابی به شرایط عملکرد میتوان اجزای بیشتری را به هر لایه اضافه کرد و به صورت افقی توسعه داد.
![MSaaS Multiple Splunk as a Service](https://www.apk.co.ir/wp-content/uploads/2016/12/621x392xmultiple-splunk-as-a-service-1.png.pagespeed.ic.AMGB7dQ5vA.png)
شکل 1- نمونهای از معماری Splunk Enterprise با لایه جستجو، جمعآوری داده و Indexing
این سه لایه شامل اجزای زیر میباشند:
-
لایه جمعآوری داده: Forwarder
Forwarder به جمعآوری دادهها پرداخته و آن را به صورت مستقیم یا از طریق Forwarderهای میانی به لایهIndexing ارسال مینماید. در صورت پیکربندی با چندین Indexer، میتوان جریان دادهها (Data Stream) از Forwarderها را در چندین Indexer تعدیل بار نمود. با کمک فرآیند تعدیل بار (Load Balancing) میتوان به عملکرد، مقیاسپذیری و انعطافپذیری (Resilience) لایه Indexing کمک نمود. در صورت عدم دسترسی به یک یا چند Indexer، این امکان برای Forwarder وجود دارد که دادههای خود را به Indexer دیگری ارسال نماید.
-
لایه Indexer : Indexing
هر یک از اجزای Indexer یا مجموع آن (Indexer Cluster)، دادههای ورودی را Index نموده و فرآیند جستجو را در تمامی Indexها انجام میدهد.
-
لایه جستجو: Search Head
هر یک از اجزای Search Head یا مجموع آن Query، Search Head Clusterهای جستجو را به لایه Indexing توزیع نموده و نتایج جستجو را ادغام و نهایی میکند و سپس آنها را در اختیار کاربر قرار میدهد.
برای افزایش قابلیت انعطافپذیری و دسترسپذیری میتوان فضا را برای تمامی ابعاد به صورت کلاستری پیادهسازی نمود (شکل 2). معمولا محیطهایی با مقیاس بزرگتر شامل یک License Master کلی و یک سرور پیادهسازی جهت سهولت در فرآیند اجرا میباشد.
![MSaaS Multiple Splunk as a Service](https://www.apk.co.ir/wp-content/uploads/2016/12/535x351xmultiple-splunk-as-a-service-2.png.pagespeed.ic.oELjwpyhjL.png)
شکل 2- نمونهای از معماری Splunk Enterprise با استفاده از Clustering با هدف افزایش مقیاسپذیری و انعطافپذیری
اجزای اصلی شامل Search Head Cluster، Indexer Cluster، سرور پیادهسازی و License Master میشود:
-
Search Head Cluster:
مجموعهای از سه یا چهار Search Head است که در بارکاری لایه جستجو سهیم میشوند. پیکربندیها، برنامههای کاری و نتایج جستجو در میان اعضای Search Head Cluster به اشتراک گذاشته میشود. یکی از اعضای کلاستر جستجو که به عنوان Captain طراحی شده است، کلیه فعالیتهای گسترده کلاستر را هماهنگ مینماید. در صورت پایین آمدن یا خرابی عضوی از مجموعه که تحت عنوان Captain عمل میکند، یکی از اعضای دیگر به صورت خودکار جای آن را میگیرد.
-
Indexer Cluster
مجموعهای از Indexerهای Splunk Enterprise که چندین کپی از دادههای تکراری را نگهداری میکند. این قابلیت همسانسازی و تکرار در Index، مانع از دست رفتن دادهها شده و قابلیت دسترسپذیر دادهها را نیز ارتقا میبخشد. این مجموعه دارای قابلیت Failover خودکار بوده و در صورت خرابی یک Indexer، فرآیند Index و جستجو در تمامی دادهها را توسط سایر Indexerها انجام میدهد. به علاوه، عملکرد Indexer Cluster از طریق Cluster Master Node اجرا میگردد.
-
سرور پیادهسازی
این سرور، برنامهها و فایلهای پیکربندی را به صورت متمرکز در سراسر فرآیند پیادهسازی Splunk Enterprise مدیریت مینماید.
-
License Master:
به ردیابی دادههای Index شده پرداخته و مدل Licensing مربوط به Splunk Enterprise را اجرا مینماید.
ــــــــــــــــــــــــــــــــــــــــــــــــ
مفهوم Multiple Splunk as a Service یا به اختصار MSaaS – قسمت اول
مفهوم Multiple Splunk as a Service یا به اختصار MSaaS – قسمت دوم
مفهوم Multiple Splunk as a Service یا به اختصار MSaaS – قسمت سوم (پایانی)