ما هو OpenObserve؟
إنّ OpenObserve منصّة مراقبة مفتوحة المصدر مكتوبة بلغة Rust، وصادرة برخصة AGPL-3.0. وهي تستوعب السجلات والمقاييس والتتبّعات الموزّعة وأحداث RUM (مراقبة المستخدم الحقيقي) وتخزّنها بصيغة عمودية مضغوطة أكفأ في التخزين بمقدار 140 مرة من Elasticsearch.
وتحت الغطاء، يستخدم OpenObserve كلًّا من Apache Arrow وParquet للتخزين العمودي، ما يتيح استعلامات SQL وPromQL في أقل من ثانية على مجموعات بيانات كبيرة دون العبء الذاكري لمحرّك قائم على JVM. ويحظى المشروع بتمويل قدره 10 ملايين دولار ويصدر إصدارات جديدة كل أسبوع إلى أسبوعين — وقد نزل الإصدار v0.91.1 في 2 يوليو 2026.
ما يمنحه لك OpenObserve
- استيعاب موحّد: السجلات (syslog وFluent Bit وVector وOTLP)، والمقاييس (Prometheus remote_write وOTLP)، والتتبّعات (OTLP/Jaeger)، وأحداث RUM — كلها في خدمة واحدة.
- تكلفة تخزين أقل بمقدار 140 مرة من Elasticsearch: صيغة Parquet العمودية + ضغط Zstd.
- واجهتا استعلام بلغتي SQL وPromQL — بلا لغة استعلام احتكارية لتتعلّمها.
- لوحات معلومات مدمجة مع لوحات بالسحب والإفلات، ومحدّدات للنطاق الزمني، ومتغيّرات، وتنبيهات.
- مراقبة تتبّع LLM/الذكاء الاصطناعي: تتبّع استدعاءات OpenAI وLangChain وLiteLLM وAnthropic بشكل أصلي (زمن الاستجابة، وعدد الرموز، والتكلفة، والأخطاء).
- تنبيهات عبر إشعارات Slack وPagerDuty والبريد الإلكتروني وwebhook وMicrosoft Teams.
- واجهة تخزين كائنات خلفية متوافقة مع S3: خزّن بيتابايتات على MinIO أو R2 أو Backblaze B2.
- أقل من 10 MB من ذاكرة RAM في وضع الخمول — شغّله على أي خادم VPS بسعة 1 GB إلى جانب تطبيقاتك.
المتطلبات
يصلح أي خادم VPS من ServOrbit بسعة 1 GB من ذاكرة RAM وقالب Ubuntu 24.04 حديث لإعداد بخادم واحد. يجب أن يكون Docker مثبّتًا (يتولّى المثبّت بنقرة واحدة ذلك). ولاستيعاب السجلات الكثيف — ملايين الأسطر يوميًا من عدة خدمات — خصّص 2 إلى 4 GB من ذاكرة RAM. لا حاجة إلى GPU، ولا إلى وسوم نواة خاصة، ولا إلى ضبط للنواة.
انشر OpenObserve على خادم VPS من ServOrbit
النشر بنقرة واحدة من المتجر
في لوحة تحكّم ServOrbit، افتح تبويب Marketplace، وابحث عن OpenObserve، وانقر Deploy. يُجهّز المثبّت Docker، ويسحب public.ecr.aws/zinclabs/openobserve:latest، ويشغّل الحاوية مع وحدة تخزين مسمّاة للتخزين الدائم. وتُولَّد بيانات اعتماد المسؤول عشوائيًا وتُعرَض في لوحتك.
افتح واجهة الويب
انتقل إلى http://<your-vps-ip>:5080 في متصفحك. سجّل الدخول باستخدام [email protected] وكلمة المرور من لوحة تحكّمك. تصل إلى الشاشة الرئيسية لـ OpenObserve — إذ تكون المؤسسة (organization) مُنشأة مسبقًا ويكون الدفق الافتراضي default جاهزًا لاستقبال البيانات.
أرسل سجلّك الأول
اختبر نقطة نهاية الاستيعاب من أي طرفية:
curl -u [email protected]:YOUR_PASSWORD \
-XPOST http://YOUR_VPS_IP:5080/api/default/default/_json \
-H 'Content-Type: application/json' \
-d '[{"level":"info","message":"hello openobserve","service":"test"}]'انتقل إلى مستكشف Logs في الواجهة، واختر الدفق default، وسيظهر سطر سجلّك خلال ثانية.
أرسل سجلات Docker باستخدام Fluent Bit
لجمع السجلات من كل الحاويات على خادم VPS الخاص بك، ثبّت Fluent Bit كحاوية:
docker run -d --name fluent-bit \
-v /var/lib/docker/containers:/var/lib/docker/containers:ro \
-e FLB_OUTPUT_HOST=YOUR_VPS_IP \
fluent/fluent-bit:latest \
/fluent-bit/bin/fluent-bit \
-i tail -p path=/var/lib/docker/containers/*/*.log \
-p parser=docker \
-o http -p host=YOUR_VPS_IP -p port=5080 \
-p uri=/api/default/docker/_json \
-p format=json \
-p [email protected] -p http_passwd=YOUR_PASSWORDيتدفّق الآن كل من stdout/stderr لكل حاوية إلى دفق سجلات docker في OpenObserve، وهو قابل للبحث حسب اسم الحاوية والصورة ومستوى السجل.
اجمع مقاييس Prometheus (اختياري)
إن كنت تشغّل Prometheus أصلًا (أو تستخدم كاشط Prometheus المدمج في OpenObserve)، فأضف كتلة remote_write إلى ملف prometheus.yml الخاص بك:
remote_write:
- url: http://YOUR_VPS_IP:5080/api/default/prometheus/api/v1/write
basic_auth:
username: [email protected]
password: YOUR_PASSWORDتتدفّق المقاييس إلى مخزن المقاييس في OpenObserve وتصبح قابلة للاستعلام عنها بـ PromQL في محرّر لوحات المعلومات لديه.
أنشئ لوحة المعلومات الأولى
في واجهة OpenObserve، انقر Dashboards → New dashboard، وأضف لوحة، واكتب استعلام SQL مثل SELECT histogram(_timestamp, '1 minute') AS x, COUNT(*) AS y FROM default GROUP BY x. انتقل إلى مخطّط خطّي وانقر Save. أصبح حجم سجلّك عبر الزمن مرئيًا الآن — أضف مزيدًا من اللوحات لمعدّلات الأخطاء أو الاستعلامات البطيئة أو أي مقياس تستوعبه.
أول تسجيل دخول
سجّل الدخول بكلمة المرور المزوّدة (انسخها كاملة، بما في ذلك اللاحقة) وبعنوان البريد التالي: [email protected]. ثم غيّر عنوان حساب root وكلمة مروره من الإعدادات.
مراقبة نماذج LLM باستخدام OpenObserve + LiteLLM
من الميزات البارزة في OpenObserve عام 2026 المراقبة الأصلية لتتبّع نماذج LLM. إن كنت تشغّل LiteLLM أصلًا من متجر ServOrbit، فيمكنك توجيه كل تتبّعات استدعاءات النماذج — بما في ذلك اسم النموذج، وزمن الاستجابة، وعدد رموز الإدخال/الإخراج، والتكلفة، وتفاصيل الأخطاء — مباشرةً إلى OpenObserve عبر نقطة نهاية OTLP الخاصة به.
في ملف config.yaml الخاص بـ LiteLLM، أضف:
general_settings:
otel_exporter: otlp
otel_exporter_otlp_endpoint: http://YOUR_VPS_IP:5081يُنشئ الآن كل استدعاء نموذج مقطعًا (span) في مستكشف Traces في OpenObserve. ويمكنك إنشاء لوحات معلومات للتكلفة لكل نموذج، والتنبيه على زمن الاستجابة المرتفع أو استهلاك الرموز، والتعمّق إلى تتبّعات الطلبات الفردية — كل ذلك دون إرسال بيانات إلى أداة APM تابعة لطرف ثالث.
OpenObserve مقابل البدائل
| المعيار | OpenObserve | ELK Stack | Grafana + Loki + Prometheus |
|---|---|---|---|
| الحاويات المطلوبة | 1 | 3–4 | 3 |
| الحد الأدنى لذاكرة RAM (خمول) | ~10 MB | 2–4 GB | 512 MB |
| تكلفة التخزين | ✅ أقل بـ 140× | ❌ مرتفعة | ⚠️ متوسطة |
| واجهة الاستعلام | SQL + PromQL | KQL (Kibana) | LogQL + PromQL |
| التتبّع الموزّع | ✅ مدمج | ❌ يحتاج APM | ❌ يحتاج Tempo |
| مراقبة تتبّع LLM | ✅ أصلي | ❌ | ❌ |
| الرخصة | AGPL-3.0 (مجاني) | AGPL-3.0 (مجاني) | AGPL-3.0 (مجاني) |
الفارق الجوهري هو كفاءة الموارد: يحقّق OpenObserve تكافؤًا مع حزمة ELK أو Grafana كاملة ببصمة أصغر بكثير، ما يجعله الخيار العملي لعمليات النشر على خادم VPS حيث تشحّ ذاكرة RAM.