معماری اسپلانک (Splunk) | ایجاد زیرساختی قوی برای تحلیل داده‌های سازمانی

معماری اسپلانک

شهری بزرگ را با دوربین‌های نظارتی که در خیابان های متعدد نصب گردیده تصور کنید. هر دوربین به طور مستقل تصاویر و ویدئوها را ضبط می‌کند، اما برای نظارت مؤثر بر امنیت شهر، این داده‌ها باید به صورت متمرکز جمع‌آوری و تحلیل شوند و به یک سیستم مدیریت مرکزی متصل شوند که این داده‌ها را از دوربین‌های مختلف دریافت، پردازش و در یک معماری جستجوی توزیع شده قرار دهد، به طوری که مسئولان امنیتی بتوانند به سرعت و به صورت دقیق به داده‌های مورد نیاز دسترسی پیدا کنند و تصمیمات بهتری بگیرند. معماری Splunk مشابه این فرآیند در دنیای داده‌ها است.

اسپلانک داده‌ها را از منابع مختلف (مانند سیستم‌های مختلف، برنامه‌ها و دستگاه‌ها) جمع‌آوری می‌کند و آن‌ها را به طور متمرکز پردازش و تحلیل می‌کند. این اطلاعات پردازش شده سپس در یک سیستم جستجوی توزیع شده قرار می‌گیرد، که به مدیران امنیتی اجازه می‌دهد به سرعت و به دقت به داده‌های مورد نیاز خود دسترسی پیدا کنند و به شناسایی و پاسخ به تهدیدات امنیتی بپردازند. این مقاله به بررسی معماری Splunk، اجزای مختلف آن و نحوه عملکرد این اجزا در کنار یکدیگر می‌پردازد تا شما را در پیاده‌سازی موفق این سیستم یاری کند.

 Splunk یک ابزار قدرتمند و پیشرو در زمینه جستجو و تحلیل داده‌های بزرگ است که به سازمان‌ها کمک می‌کند از داده‌های غنی خود به بهترین شکل ممکن استفاده کنند. با بیش از دو دهه تجربه، Splunk به عنوان یک معماری جستجوی سیستم توزیع شده (distributed search architecture) و یک خط لوله اطلاعاتی (information pipeline) شناخته شده که قابلیت مدیریت حجم‌های بزرگی از داده‌های سازمانی را داراست.

مراحل پایپ لاین (خط لوله) در اسپلانک

معماری Splunk شامل سه مرحله اصلی است که هر کدام نقش کلیدی در پردازش، تحلیل و جستجوی داده‌ها ایفا می‌کنند. این مراحل به شرح زیر هستند:

✔️ مرحله ورودی داده (Data Input)

   در این مرحله، داده‌های خام از منابع مختلف جمع‌آوری و به بلوک‌های 64 کیلوبایتی تقسیم می‌شوند. هر بلوک با کلیدهای متادیتا (شامل منبع، نام هاست، نوع منبع، رمزگذاری کاراکتر و شاخص ذخیره‌سازی) نام گذاری می‌شود. این متادیتاها به Splunk کمک می‌کنند تا داده‌ها را به درستی دسته‌بندی و مدیریت کند.

✔️ مرحله ذخیره‌سازی داده (Data storage)

پس از دریافت داده‌ها، اسپلانک آن‌ها را پردازش و شاخص‌گذاری می‌کند. در این مرحله، اسپلانک باید داده ها را خط به خط تحلیل کرده و شاخص زمانی(Timestamp) به آن‌ها اضافه کند. اسپلانک با استفاده از قوانین تعریف شده توسط کاربر، داده‌ها را به رویدادهای مجزا تبدیل و سپس آن‌ها را روی دیسک ذخیره می‌کند تا امکان جستجوی سریع فراهم شود.

✔️ مرحله جستجوی داده

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

اجزای اصلی معماری Splunk

بیایید نگاهی نزدیک تر به اجزای تشکیل دهنده ی معماری اسپلانک بیندازیم:

✔️ فورواردِر (Forwarder)

  فورواردِرها اجزایی هستند که وظیفه جمع‌آوری لاگ ها  از سیستم‌ها را بر عهده دارند. این اجزا با اشغال حداقل منابع سیستم ( 1 الی 2 درصد از CPU)، می‌توانند به طور همزمان روی چندین سیستم نصب شوند بدون اینکه تاثیر منفی روی سیستم داشته باشند و داده‌ها را به شاخص‌گذار Indexerارسال کنند. فورواردِرها به دو نوع تقسیم می‌شوند:

   – فورواردِر یونیورسال (Universal Forwarder)

     این نوع فورواردِر داده‌های خام را بدون پردازش به Indexer ارسال می‌کند. اگرچه این روش سریع است و به منابع کمتری نیاز دارد، اما ممکن است داده‌های غیرضروری نیز ارسال شوند که می‌تواند عملکرد Indexer را تحت تاثیر قرار دهد.

   – فورواردِر سنگین (Heavy Forwarder)

     این فورواردِر داده‌ها را در منبع پردازش و ایندکس کرده و سپس فقط داده‌های مرتبط را به Indexer ارسال می‌کند. این روش باعث کاهش حجم داده‌های ارسالی و بهبود کارایی Indexer می‌شود.

اجزای اصلی معماری اسپلانک

✔️ شاخص‌گذار (Indexer)

  Indexer مسئول پردازش، ذخیره‌سازی و ایندکس کردن داده‌هاست. اگر از فورواردِر یونیورسال استفاده شود، Indexer ابتدا داده‌ها را پردازش و سپس ایندکس می‌کند. در این مرحله، داده‌ها به رویدادهای قابل جستجو تبدیل و شاخص زمانی به آن‌ها اضافه می‌شود.ایندکسر همچنین داده‌ها را به طور فشرده و در قالب فایل‌های شاخص (tsidx) ذخیره می‌کند.

برای جلوگیری از از دست رفتن داده‌ها، Splunk از فرایندی به نام “خوشه‌بندی” یا index clustering استفاده می‌کند که در آن، شاخص‌گذاران چندگانه (multiple indexers) داده‌های یکدیگر را تکرار و ذخیره می‌کنند.

بطور خلاصه Indexer داده‌های خام را تبدیل به فرمتی قابل جستجو می‌کند بوسیله ی:

1- تقسیم داده‌ها دریافتی به رویدادهای مجزا و قابل جستجو

2- شناسایی زمان‌ مربوط به هر رویداد و اضافه کردن آن

3- استخراج فیلدهای سورس، نوع منبع و هاست از داده‌ها

4- فیلتر رویدادهای غیرضروری و شناسایی و ایجاد فیلدهای سفارشی. نوشتن و یا اصلاح کلیدها، پوشش اطلاعات حساس و اضافه کردن breaking rules برای multi-line eventsو دیگر اقدامات تعریف‌شده توسط کاربر

پس از اتمام این مراحل، داده‌ها آماده جستجو با استفاده از آخرین جزء حیاتی اسپلانک یعنی سرچ هد (Search Head) هستند.

✔️ سرچ هد (Search Head)

   سرچ هد یک رابط کاربری گرافیکی است که به کاربران امکان می‌دهد داده‌های مورد نیاز خود را جستجو و تحلیل کنند. این جزء، درخواست‌های جستجو را به شبکه‌ای از Indexer ها ارسال می‌کند و نتایج را به کاربران بازمی‌گرداند

هنگامی که کاربر عبارت جستجوی مورد نظر را وارد می کند، نرم‌افزار Splunk درخواست‌های جستجو را به شبکه‌ای از Indexer ها که به عنوان همتاهای جستجو (Search Peers)شناخته می‌شوند، ارسال می‌کند. در حالی که سرچ هدها تنها درخواست‌های جستجو را پردازش می‌کنند، همتاهای جستجو به جستجو پرداخته و عمل ایندکس را انجام می‌دهند. سپس Indexer ها درخواست‌های جستجو را با نتایج مربوطه تطابق داده و آن‌ها را به کاربر اسپلانک بازمی‌گردانند.

شما می‌توانید تنها با فعال کردن سرویس وب اسپلانک در سرور سرج هد را بر روی چندین مؤلفه اسپلانک در یک سرور واحد یا بر روی سرورهای جداگانه نصب کنید،. گروهی از سرچ هدهای هماهنگ را که به طور مشترک کار می‌کنند، خوشه جستجو (Search Cluster) می نامیم.

می‌توانید اطلاعات مشابه را جهت بهینه‌سازی نتایج جستجو به هر سرچ هد در یک خوشه ارائه داده و وظایف مختلف را بین آن‌ها تقسیم کنید. در برخی موارد، خوشه‌های متعدد سرچ هد نیز می‌توانند وظایف مشابه را با دانش مشابه انجام دهند تا جستجو به طور قابل‌توجهی مقیاس‌پذیرتر شود.

سرچ هد اسپلانک

نمای کلی معماری اسپلانک

در نهایت، برای داشتن یک نمای کلی از معماری Splunk، باید به یاد داشته باشید که تمامی اجزا از فورواردِرها تا Indexer ها و Search Head با هم کار می‌کنند تا داده‌های شما به صورت موثر جمع‌آوری، پردازش و تحلیل شوند. هر یک از این اجزا نقش حیاتی در ایجاد یک زیرساخت قدرتمند و کارآمد برای مدیریت و تحلیل داده‌های بزرگ ایفا می‌کنند.

نتیجه‌گیری

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

نظر دهید