مدلهای پیادهسازی Splunk
Splunk از نظر معماری انعطافپذیر است و میتواند از یک استقرار ساده روی یک سرور تا یک زیرساخت توزیعشده، کلاستری و چندسایتی در مقیاس سازمانی گسترش یابد.
انتخاب مدل مناسب به عواملی مانند حجم داده ورودی، تعداد کاربران، نیازمندیهای دسترسپذیری، Performance و سیاستهای Business Continuity بستگی دارد.
Single-Instance Deployment
سادهترین مدل پیادهسازی Splunk، استفاده از یک نمونه Splunk Enterprise است که دریافت داده، Indexing، Storage، Search و رابط کاربری را روی همان سیستم انجام میدهد.
مزیت اصلی این مدل سادگی است، اما مقیاسپذیری محدود و Single Point of Failure از معایب اصلی آن محسوب میشوند.
Distributed Deployment
در معماری توزیعشده، Forwarderها، Indexerها و Search Headها روی سرورهای مجزا مستقر میشوند تا بار پردازشی بین آنها توزیع شود.
Search Head Queryهای SPL را میان Indexerها توزیع کرده و نتایج را تجمیع میکند. این مدل نسبت به Single Instance از مقیاسپذیری بیشتری برخوردار است، اما بهتنهایی افزونگی داده را تضمین نمیکند.
Clustered Deployment
در محیطهای Enterprise که دسترسپذیری، تحمل خطا و تداوم سرویس اهمیت بالایی دارد، معماری کلاستری مورد استفاده قرار میگیرد.
Indexer Cluster
Indexer Cluster از چندین Peer Node و یک Cluster Manager Node تشکیل میشود. دادههای ورودی بر اساس سیاستهای Replication Factor (RF) و Search Factor (SF) بین Peer Nodeها توزیع و تکثیر میشوند.
Cluster Manager داده را Index نمیکند و Role کنترلی دارد؛ Peer Nodeها همان Indexerهای واقعی هستند که داده را پردازش، ذخیره و Search میکنند.
Search Head Cluster
Search Head Cluster از چندین Search Head Member تشکیل میشود. اعضا Dashboardها، Reportها، Alertها و Knowledge Objectها را با یکدیگر همگام میکنند و بار Search را میان خود توزیع میکنند.
در هر لحظه یکی از اعضای Search Head Cluster نقش Captain را بر عهده میگیرد. Captain وظیفه هماهنگی Searchهای زمانبندیشده، Artifact Replication و هماهنگی وضعیت اعضای Cluster را مدیریت میکند.
Deployer نیز خارج از Cluster قرار دارد و برای توزیع Appها، تنظیمات و Knowledge Objectها میان اعضای SHC استفاده میشود.
Multisite Deployment
برای سازمانهایی که دارای چندین دیتاسنتر یا سایت عملیاتی هستند، Splunk از معماری Multisite Cluster پشتیبانی میکند. در این معماری، دادهها بین سایتهای مختلف توزیع و تکثیر میشوند تا در صورت از دسترس خارج شدن یک دیتاسنتر، سرویس از سایر سایتها ادامه پیدا کند.
قابلیت Search Affinity نیز کمک میکند جستوجوها تا حد امکان روی دادههای محلی هر سایت انجام شوند و ترافیک بینسایتی کاهش یابد.