جمعآوری و جستجوی لاگها یکی از ضروریترین نیازهای هر زیرساختی است. اما راهحل کلاسیک این حوزه — پشتهٔ ELK با Elasticsearch — برای پروژههای کوچک و متوسط یک مشکل جدی دارد: منابع بالا. Elasticsearch برای اجرای بهینه به سرورهای قوی نیاز دارد و هزینهٔ نگهداری آن برای یک تیم کوچک میتواند غیرمنطقی باشد.
Parseable با این نگاه ساخته شد که لاگها را سبک، سریع و ارزان نگه دارد. Parseable که توسط تیمی مستقل توسعه یافته، نسخهٔ ۰.۹.۰ آن یک پلتفرم بلادرنگ جمعآوری و جستجوی لاگ است که به جای ایندکسگذاری سنگین، لاگها را به صورت فشرده روی Object Storage (مثل S3) ذخیره میکند و با یک باینری کوچک (حدود ۲۰ مگابایت) اجرا میشود.
Parseable چیست و چرا ساخته شد؟
پشتههای سنتی لاگ مبتنی بر ایندکس (مثل ELK) برای هر لاگ یک ایندکسگذاری انجام میدهند که هم CPU زیادی مصرف میکند و هم حافظه. Parseable مسیر متفاوتی را انتخاب کرده: بدون ایندکس. لاگها به صورت فشرده (با فرمت Parquet) روی Object Storage ذخیره میشوند و جستجو با پردازش موازی روی پارتیشنها انجام میشود.
نتیجهٔ این معماری: مصرف منابع به شدت پایینتر، هزینهٔ ذخیرهسازی کمتر و مقیاسپذیری آسانتر — بدون از دست دادن قابلیت جستجوی تماممتن و پرسوجوی زمانمحور.
معرفی و امکانات اصلی
۱. بلادرنگ (Real-Time)
لاگها به محض رسیدن در رابط کاربری ظاهر میشوند. استریم زندهٔ لاگها را میتوانید با فیلترهای مختلف دنبال کنید و خطاها را همان لحظه ببینید.
۲. جستجوی تماممتن و فیلتر
جستجوی سریع در میلیونها لاگ با کوئریهای ساده یا SQL کامل. فیلتر بر اساس سطح (ERROR، WARN، INFO)، سرویس، نام میزبان و هر فیلد دلخواهی که در لاگ شما وجود دارد.
۳. ذخیرهسازی روی S3 و Object Storage
Parseable لاگها را به صورت فشرده روی S3، MinIO یا هر Object Storage سازگار با S3 ذخیره میکند. این یعنی ذخیرهسازی نامحدود، هزینهٔ بسیار پایین و پشتیبانگیری خودکار — بدون نیاز به دیسک بزرگ روی سرور.
۴. API ساده و سازگار
ورودی استاندارد JSON از طریق POST و سازگاری با قالبهای رایج مثل Vector و Fluent Bit، ارسال لاگ را ساده میکند. برای مشاهدهٔ خروجی هم قالب Prometheus و درگاههای گوناگون وجود دارد.
۵. رابط کاربری وب
کنسول وب Parseable برای مشاهدهٔ لاگها، ساخت استریمها (Streams)، تعریف نگهداری (Retention) و تحلیل استفاده میشود. پشتیبانی از نمودارهای سری زمانی هم برای مشاهدهٔ روند لاگها فراهم است.
۶. نگهداری خودکار (Retention)
برای هر استریم میتوانید مدت نگهداری مشخص کنید؛ Parseable به صورت خودکار لاگهای قدیمی را حذف میکند — دیگر نگران پر شدن دیسک نباشید.
شروع کار با Parseable
اجرای Parseable با یک فرمان Docker بسیار ساده است:
docker run -d --name parseable -p 8000:8000 -v ./data:/parseable/data -e PARSABLE_LOCAL_STORAGE=/parseable/data parseable/parseable:v0.9.0برای ارسال لاگ کافیست یک درخواست POST به آدرس /api/v1/ingest بفرستید و سپس در رابط وب (http://localhost:8000) لاگهای خود را جستجو کنید.
مقایسه با رقبا
Parseable در مقایسه با پشتههای سنتی لاگ گزینهای سبک است. جدول زیر آن را با ELK، Loki و SigNoz مقایسه میکند:
| ویژگی | Parseable | ELK (Elasticsearch) | Loki |
|---|---|---|---|
| معماری | بدون ایندکس، مبتنی بر Object Storage | ایندکسگذاری کامل (Lucene) | ایندکس مبتنی بر label (بدون ایندکس محتوا) |
| مصرف منابع | بسیار کم (باینری ۲۰ مگابایتی) | بالا (نیاز به کلاستر) | کم |
| جستجوی تماممتن | بله | فوقالعاده قوی | محدود (فقط label) |
| ذخیرهسازی | S3 و Object Storage (فشردهٔ Parquet) | دیسک محلی / سرد | S3 و Object Storage |
| راهاندازی | یک باینری | چند سرویس (Elasticsearch + Kibana + ...) | Loki + Promtail + Grafana |
| هزینهٔ نگهداری | پایین | بالا | پایین |
| مناسب برای | تیمهای کوچک و متوسط با حجم لاگ زیاد | سازمانهای بزرگ با نیاز تحلیل عمیق | زیرساختهای Kubernetes و متریکمحور |
SigNoz هم گزینهٔ متنباز دیگری است که تمرکز آن روی مشاهدهپذیری کامل (لاگ + متریک + Trace) است و به همین دلیل برای تیمهایی که به APM هم نیاز دارند گزینهٔ جذابی محسوب میشود؛ اما سبکی و سادگی Parseable را ندارد.
موارد استفاده
- جمعآوری لاگ از چند سرور — ارسال لاگهای اپلیکیشن و سرویس به یک نقطهٔ مرکزی با Fluent Bit یا Vector
- دیباگ خطاهای اپلیکیشن — جستجوی خطاهای 5xx و Stack Trace با فیلتر سطح و سرویس
- پروژههای کممنبع — سرورهای کوچک که نمیتوانند Elasticsearch را اجرا کنند
- نگهداری طولانیمدت لاگ — ذخیرهٔ ارزان لاگهای ماهها روی S3 برای نیازهای ممیزی
- استارتاپهایی که بهزودی مقیاس میگیرند — معماری مبتنی بر S3 بدون تغییر کد مقیاسپذیر است
چه زمانی Parseable مناسب است؟
- منابع سرور شما محدود است اما حجم لاگها زیاد
- به یک راهحل ساده با یک باینری نیاز دارید نه کلاستری از سرویسها
- از S3 یا MinIO استفاده میکنید و میخواهید لاگها ارزان و امن ذخیره شوند
- به جستجوی تماممتن لاگ نیاز دارید اما نه به پیچیدگی ELK
- میخواهید هزینهٔ نگهداری زیرساخت لاگ را به شدت کاهش دهید
برای چه چیزهایی مناسب نیست؟
- تحلیل امنیتی و SIEM — برای تشخیص تهدید و تحلیل عمیق الگوهای حمله، قابلیتهای Elastic Security را ندارد
- مشاهدهپذیری کامل (Metric + Trace + Log) — اگر به APM و ردیابی تراکنش هم نیاز دارید، SigNoz یا ELK کاملتر است
- جستجوی حرفهای و بسیار پیچیده — قدرت و انعطاف کوئریهای Elasticsearch را ندارد
- داشبوردهای غنی تحلیل — برای تجسمسازی پیشرفتهٔ دادهٔ لاگ، Kibana و Grafana قدرتمندترند
Parseable در لکسویا
اگر به دنبال راهاندازی سریع و بدون دردسر Parseable هستید، لکسویا این ابزار را به عنوان یک برنامهٔ آماده (QuickApp) ارائه میدهد. با یک کلیک میتوانید یک نمونهٔ تکنمونهای از Parseable را بالا بیاورید — بدون نیاز به دانش عمیق زیرساخت، و از همان روز اول لاگهای خود را جمعآوری کنید.
لکسویا این ابزار را به عنوان برنامهٔ آماده (QuickApp) ارائه میدهد — با یک کلیک نمونهٔ تکنمونهای یا کلاستر راه بیندازید و جمعآوری و جستجوی بلادرنگ لاگها را در چند دقیقه شروع کنید.
نتیجهگیری
Parseable ثابت کرده که میتوان لاگها را سبک، ارزان و مقیاسپذیر نگه داشت بدون این که به پیچیدگی پشتههای سنتی افتاد. معماری مبتنی بر Object Storage و مصرف منابع بسیار پایین، آن را به گزینهٔ ایدهآلی برای تیمهای کوچک و متوسط تبدیل کرده است.
اگر پشتهٔ لاگ فعلی شما گران و سنگین شده یا هنوز لاگها را روی دیسک سرور نگه میدارید، Parseable جایگزینی مدرن و مقرونبهصرفه است.