[{"data":1,"prerenderedAt":167},["ShallowReactive",2],{"seo-verification":3,"blog-استضافة-langfuse-على-vps-مراقبة-llm-بلا-فاتورة-saas-ma-ar":6,"promo-bar-likely":166},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-استضافة-langfuse-على-vps-مراقبة-llm-بلا-فاتورة-saas-ma-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":99,"ctaBody":100,"ctaButton":101,"ctaUrl":102,"relatedPosts":103},177,"استضافة-langfuse-على-vps-مراقبة-llm-بلا-فاتورة-saas",{"fr":12,"en":13,"ar":10,"es":14},"self-host-langfuse-vps","self-host-langfuse-on-a-vps-llm-observability-no-saas-bill","alojar-langfuse-en-un-vps","استضافة ‫Langfuse‬ على ‫VPS‬: مراقبة ‫LLM‬ بلا فاتورة ‫SaaS‬","استضف ‫Langfuse‬ ذاتيًا على خادم ‫VPS‬ — تتبّع كل استدعاء ذكاء اصطناعي، قيّم جودة الـ ‫prompts‬، وراقب التكاليف. دليل كامل: تثبيت، ‫nginx‬، ‫TLS‬، ‫SDK‬ وحل المشكلات.",11,2,false,"2026-07-12T00:00:00+00:00","2026-11-04T16:30:26+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},1,"الذكاء الاصطناعي","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-langfuse-vps-poster.svg",{"categorySlug":34,"appSlug":35},"الذكاء-الاصطناعي","langfuse","كل تطبيق مدعوم بنموذج لغوي يُفرز في نهاية المطاف سؤالاً لا يستطيع مطوّروه الإجابة عنه من السجلات وحدها: لماذا تدهورت هذه الاستجابة، وأيّ نسخة ‫prompt‬ كانت أفضل، وأين تذهب الأموال؟ ‫Langfuse‬ (رخصة ‫MIT‬، نحو 30 ألف نجمة على ‫GitHub‬، ‫v3.212.0‬) هو الجواب مفتوح المصدر: منصة مراقبة متكاملة لتطبيقات ‫LLM‬ تنشرها على خادم ‫VPS‬ الخاص بك وتربطها بأي مزوّد نماذج في دقائق.",[38,42,52,55,80,83,87,90,93,96],{"type":39,"title":40,"body":41},"h2","لماذا تحتاج تطبيقات ‫LLM‬ إلى مراقبة مخصّصة","أدوات ‫APM‬ التقليدية (‫Datadog‬ و‫New Relic‬) تلتقط كمون ‫HTTP‬ ومعدلات الأخطاء — لكنها عمياء أمام ما يحدث داخل استدعاء ‫LLM‬. استجابة تصل في 800 ميلي ثانية قد تكون لا تزال خاطئة واقعيًا، أو مبهمة بلا فائدة، أو ثلاثة أضعاف تكلفة استجابة الأمس لأن انتكاسة ‫prompt‬ تسللت دون أن يلاحظها أحد في مراجعة الكود. يحلّ ‫Langfuse‬ هذه المشكلة بمعاملة كل تفاعل مع ‫LLM‬ باعتباره ‫trace‬ منظّمًا: يسجّل الـ ‫prompt‬ الكامل (بما في ذلك رسالة النظام وتاريخ المحادثة) والاستجابة والنموذج المستخدم وعدد الرموز وتفصيل الكمون لكل نطاق وأي درجات تقييم يرفقها فريقك. يمكنك بعد ذلك تصفية أي ‫trace‬ ومقارنته واستنساخه — بشكل فردي أو مجمّع.",{"type":43,"title":44,"items":45},"ul","ما يمنحك إياه ‫Langfuse‬ جاهزًا فور التثبيت",[46,47,48,49,50,51],"تتبّع ‫LLM‬ كامل: الـ ‫prompt‬ والاستجابة والكمون والتكلفة وعدد الرموز — بما في ذلك النطاقات المتداخلة لسلاسل الوكلاء (‫LangChain‬ و‫LlamaIndex‬ و‫Dify‬).","مركز إدارة الـ ‫prompts‬: إدارة نسخها، وتدريج المتغيرات، واختبار ‫A\u002FB‬ في الإنتاج، وترويج الفائز دون نشر كود.","إطار تقييم: تشغيل ‫LLM-as-a-judge‬، وطوابير تعليق بشرية، أو دوال تسجيل مخصّصة على أي ‫trace‬ أو مجموعة بيانات.","تحليلات التكلفة: تتبّع إنفاق الرموز حسب النموذج والنقطة الطرفية والمستخدم والجلسة — التبديل بين المزوّدين بناءً على بيانات.","إدارة مجموعات البيانات: التقاط ‫traces‬ الإنتاج كمجموعات اختبار ذهبية للتقييم غير المتصل واكتشاف الانتكاسات.","‫SDK‬ أصلي لـ ‫Python‬ و‫TypeScript‬، مع تكامل تلقائي مع ‫LiteLLM‬ و‫LangChain‬ و‫LlamaIndex‬ و‫Dify‬ و‫Haystack‬ و‫VercelAI‬.",{"type":39,"title":53,"body":54},"ما يعمل عليه ‫Langfuse‬ (ولماذا يحتاج 4 GB من الذاكرة)","يأتي ‫Langfuse v3‬ كـ ‫stack Docker Compose‬ من ستة خدمات: `langfuse` (واجهة ‫Next.js‬ الأمامية + ‫API‬) و`langfuse-worker` (وظائف الخلفية والتقييمات) و`postgres` (حالة التطبيق) و`clickhouse` (تحليلات ‫traces‬ — تخزين عمودي محسّن للسلاسل الزمنية عالية الكثافة) و`redis` (قائمة انتظار وذاكرة تخزين مؤقت) و`minio` (تخزين كائنات متوافق مع ‫S3‬ للمرفقات الوسائطية). ‫ClickHouse‬ هو سبب الحدّ الأدنى البالغ 4 GB: يحتاج مترجمه ‫JIT‬ ومحرك التنفيذ المتجّه إلى مساحة كافية. في الخادم الهادئ تستهلك المجموعة الكاملة نحو 1.5-2 GB في وضع الخمول؛ لحركة مرور إنتاجية معتدلة خطّط لـ 4 GB، ومع 8 GB للتتبّع المستمر عالي الإنتاجية.",{"type":56,"title":57,"steps":58},"steps","نشر ‫Langfuse‬ على خادم ‫VPS‬ في ست خطوات",[59,62,65,68,71,74,77],{"title":60,"body":61},"اطلب ‫VPS Power‬ (8 GB من ذاكرة ‫RAM‬)","يحتاج ‫Langfuse‬ إلى 4 GB من ذاكرة ‫RAM‬ على الأقل: في الكتالوج، أول خطة تتجاوز هذا الحدّ هي ‫VPS Power‬ (4 vCPU، 8 GB) بنظام ‫Ubuntu 24.04‬ — وهي تكفي أيضًا لحركة مرور إنتاجية مستمرة. اختر نطاقًا أو نطاقًا فرعيًا تتحكم فيه — ملفات تعريف الارتباط للجلسة في ‫NextAuth‬ تتطلب نطاق ‫HTTPS‬ صحيحًا.",{"title":63,"body":64},"تثبيت بنقرة واحدة من السوق","افتح لوحة تحكم ‫ServOrbit‬، انتقل إلى ‫Marketplace‬ → الذكاء الاصطناعي → ‫Langfuse‬، وانقر \"نشر\". أدخل نطاقك عند المطالبة. يسحب ‫Docker Compose‬ جميع الصور الست ويشغّلها؛ واجهة الويب جاهزة على المنفذ 3000 خلال 60-90 ثانية.",{"title":66,"body":67},"افتح واجهة الويب وأنشئ مشروعك الأول","انتقل إلى `https:\u002F\u002Fyour-domain.com`. يعرض ‫Langfuse‬ شاشة التسجيل عند التشغيل الأول. أنشئ حسابك الإداري، ثم اذهب إلى ‫Settings‬ → ‫Projects‬ → ‫Create project‬. انسخ **المفتاح العام** و**المفتاح السري** من إعدادات المشروع — ستحتاجهما في تطبيقك.",{"title":69,"body":70},"قِس تطبيق ‫Python‬ أو ‫TypeScript‬ الخاص بك","في ‫Python‬: `pip install langfuse`، اضبط `LANGFUSE_HOST=https:\u002F\u002Fyour-domain.com` و`LANGFUSE_PUBLIC_KEY` و`LANGFUSE_SECRET_KEY`، ثم زيّن استدعاءات ‫LLM‬ بـ `@observe()`. في ‫TypeScript‬: `npm install langfuse`، هيّئه بمضيفك ومفاتيحك. تظهر ‫traces‬ في اللوحة خلال ثوانٍ.",{"title":72,"body":73},"فعّل التتبّع التلقائي إذا كنت تستخدم ‫LiteLLM‬","إذا كان ‫LiteLLM‬ موجودًا في stack: أضف `success_callback = [\"langfuse\"]` إلى `litellm_config.yaml` واضبط متغيرات البيئة الثلاثة. كل استدعاء ‫LLM‬ proxied يُتتبَّع تلقائيًا بتفاصيل التكلفة والرموز.",{"title":75,"body":76},"شغّل تقييمك الأول","اذهب إلى ‫Traces‬، صفّ عيّنة تمثيلية، انقر 'Add to dataset'. افتح ‫Datasets‬ → مجموعتك → ‫Run evaluation‬، اختر ‫LLM-as-a-judge‬ مع قالب ‫prompt‬ ('قيّم ملاءمة هذه الاستجابة من 1 إلى 5')، وأرسل.",{"title":78,"body":79},"أول تسجيل دخول","يفتح الرابط شاشة ‫Langfuse‬ مع رابط «Sign up»: أنشئوا حسابكم، ثم أنشئوا مؤسستكم ومشروعكم الأول عبر المعالج.",{"type":39,"title":81,"body":82},"الإعداد بعد التثبيت: ‫reverse proxy nginx‬ و‫TLS‬ ومتغيرات البيئة الأساسية","يقوم تثبيت ‫ServOrbit Marketplace‬ بتهيئة ‫nginx‬ وشهادة ‫TLS‬ تلقائيًا. إذا كنت تُعدّ يدويًا، إليك النقاط الحرجة.\n\n**‫Reverse proxy nginx‬.** يستمع ‫Langfuse‬ على المنفذ 3000. يجب أن يعيد ‫vhost nginx‬ توجيه هذا المنفذ ويُرسل الترويسات الضرورية لـ ‫NextAuth‬:\n\n```nginx\nserver {\n    listen 443 ssl;\n    server_name your-domain.com;\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:3000;\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto $scheme;\n    }\n}\n```\n\nإذا لم يُرسَل `X-Forwarded-Proto`، يولّد ‫NextAuth‬ روابط ‫callback‬ عبر `http:\u002F\u002F` ولا تُرفق ملفات تعريف ارتباط الجلسة على استجابة ‫HTTPS‬ — العَرَض: حلقة إعادة توجيه بعد تسجيل الدخول.\n\n**متغيرات البيئة الأساسية.** يحتوي ملف `.env` للـ ‫stack‬ على ثلاثة متغيرات يجب تخصيصها قبل التشغيل الأول:\n\n- `NEXTAUTH_SECRET`: سلسلة عشوائية طويلة (32 حرفًا كحدٍّ أدنى). بدونها لا تستمر الجلسات عبر إعادة التشغيل.\n- `NEXTAUTH_URL`: عنوان ‫URL‬ العلني الكامل لمثيلك (`https:\u002F\u002Fyour-domain.com`). يجب أن يطابق نطاق ‫nginx‬ تمامًا.\n- `LANGFUSE_INIT_ORG_ID` و`LANGFUSE_INIT_PROJECT_ID` و`LANGFUSE_INIT_PROJECT_PUBLIC_KEY` و`LANGFUSE_INIT_PROJECT_SECRET_KEY`: اختيارية، لكنها مفيدة لتوفير المؤسسة والمشروع عند التشغيل الأول دون واجهة المستخدم.\n\n**‫TLS‬.** تستخدم عمليات نشر ‫ServOrbit‬ ‫Let's Encrypt‬ عبر ‫certbot‬ في وضع ‫DNS-01‬ — لا حاجة لفتح المنفذ 80. إذا هيّأت الشهادة يدويًا، أشر توجيهات `ssl_certificate` و`ssl_certificate_key` إلى الملفات الصادرة عن ‫certbot‬ وفعّل التجديد التلقائي.",{"type":84,"title":85,"body":86},"tip","اقرنه مع ‫LiteLLM‬ للرؤية الكاملة لتكاليف الذكاء الاصطناعي","يتضمّن ‫stack ServOrbit AI‬ بالفعل ‫LiteLLM‬ كبوابة متوافقة مع ‫OpenAI‬. ربط ‫Langfuse‬ بـ ‫LiteLLM‬ بثلاثة متغيرات بيئة يمنحك صورة كاملة: ‫LiteLLM‬ يفرض حدود المعدل ويوجّه بين المزوّدين؛ ‫Langfuse‬ يسجّل كل ‫trace‬ بالـ ‫prompt‬ الكامل والاستجابة والنموذج والرموز والتكلفة. معًا يمنحانك طبقة عمليات ذكاء اصطناعي خاصة وقابلة للتدقيق.",{"type":39,"title":88,"body":89},"تكامل ‫SDK‬: تتبّع وكلاء ‫LLM‬ بـ ‫Python‬ و‫TypeScript‬","يوفّر ‫Langfuse‬ اثنين من ‫SDK‬ الرسميين يغطيان أبرز أطر عمل الوكلاء.\n\n**‫Python‬ — مزخرف `@observe()`.**\nأبسط طريقة لتتبّع وكيل:\n\n```python\nfrom langfuse.decorators import observe, langfuse_context\n\n@observe()\ndef run_agent(user_message: str) -> str:\n    response = openai_client.chat.completions.create(\n        model=\"gpt-4o\",\n        messages=[{\"role\": \"user\", \"content\": user_message}]\n    )\n    return response.choices[0].message.content\n```\n\nكل دالة متداخلة مزخرفة بـ `@observe()` تظهر كـ ‫span‬ فرعي في نفس الـ ‫trace‬. لإرفاق بيانات وصفية:\n\n```python\nlangfuse_context.update_current_trace(\n    user_id=\"user-42\",\n    session_id=\"session-abc\",\n    tags=[\"production\", \"agent-v2\"]\n)\n```\n\n**‫LangChain‬.** التكامل الأصلي يُفعَّل بسطر واحد:\n\n```python\nfrom langfuse.callback import CallbackHandler\nhandler = CallbackHandler()\nchain.invoke({\"input\": query}, config={\"callbacks\": [handler]})\n```\n\n**‫TypeScript \u002F JavaScript‬.**\nتهيئة العميل:\n\n```typescript\nimport Langfuse from \"langfuse\";\nconst lf = new Langfuse({\n  publicKey: process.env.LANGFUSE_PUBLIC_KEY!,\n  secretKey: process.env.LANGFUSE_SECRET_KEY!,\n  baseUrl: process.env.LANGFUSE_HOST,\n});\n```\n\nإنشاء ‫trace‬ وجيل:\n\n```typescript\nconst trace = lf.trace({ name: \"agent-run\", userId: \"user-42\" });\nconst generation = trace.generation({ name: \"llm-call\", model: \"gpt-4o\", input: messages });\n\u002F\u002F … استدعاء LLM …\ngeneration.end({ output: result, usage: { input: 120, output: 45 } });\nawait lf.shutdownAsync();\n```",{"type":39,"title":91,"body":92},"تكاليف ‫LLM‬ تظهر $0.00 في واجهة ‫Tracing v4‬ — السبب والحل المؤقت","يؤثّر خلل نشط على واجهة ‫Tracing v4‬ في ‫Langfuse‬ (مُتابَع في \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flangfuse\u002Flangfuse\u002Fissues\u002F16077\">‫issue #16077‬\u003C\u002Fa>، 17 تعليقًا في أغسطس 2026): يعرض عمود **Cost ($)** دائمًا $0.00 لجميع الـ ‫traces‬.\n\nالسبب بنيوي. تقرأ الواجهة ‫v4‬ التكلفة على الملاحظة الجذرية (‫SPAN‬) — لا يحمل ‫SPAN‬ تكلفة ذاتية. التكلفة الفعلية موزّعة على ‫GENERATION‬ الأبناء، لكن الواجهة لا تجمعها.\n\nبياناتك سليمة. ثلاثة حلول مؤقتة:\n\n**1. تبويب ‫Analytics \u002F Metrics‬** — يحسب التكاليف على جميع عمليات التوليد.\n\n**2. التصفية حسب ‫GENERATION‬ في ‫Traces‬** — أضف `observation_type = GENERATION`. كل صف يعرض تكلفته الحقيقية.\n\n**3. فتح لوحة تفاصيل الـ ‫trace‬** — تعرض التوزيع الكامل بالتكاليف الصحيحة.\n\nالـ ‫issue‬ مفتوحة ومتابَعة من فريق ‫Langfuse‬.",{"type":39,"title":94,"body":95},"استكشاف الأخطاء: خمس أخطاء شائعة بعد التثبيت","**1. حاوية `langfuse` لا تبدأ — `Error: NEXTAUTH_SECRET` مفقود.**\nتحقق من ملف `.env`:\n\n```bash\ndocker compose config | grep NEXTAUTH_SECRET\n```\n\nإذا كان السطر غائبًا أو فارغًا، أنشئ قيمة وأعد التشغيل:\n\n```bash\nopenssl rand -base64 32\n# الصق النتيجة في .env: NEXTAUTH_SECRET=\u003Cvalue>\ndocker compose up -d langfuse\n```\n\n**2. رفض الاتصال بقاعدة البيانات — `ECONNREFUSED postgres:5432`.**\nهذا في الغالب مشكلة توقيت عند بدء التشغيل. تأكد من أن `docker-compose.yml` يُعلن `depends_on` مع `condition: service_healthy` لخدمة `postgres`. تفقّد سجلات ‫postgres‬ إذا استمرت المشكلة:\n\n```bash\ndocker compose logs postgres --tail=50\n```\n\n**3. لا تظهر ‫traces‬ في لوحة التحكم.**\nتحقق: (أ) هل متغيرات البيئة `LANGFUSE_HOST` و`LANGFUSE_PUBLIC_KEY` و`LANGFUSE_SECRET_KEY` مضبوطة في تطبيقك؟ (ب) هل يشير ‫host‬ إلى عنوان ‫URL‬ ‫HTTPS‬ العلني لا إلى `localhost:3000`؟ (ج) هل ‫Python SDK‬ يُفرغ مخزنه المؤقت قبل انتهاء العملية (`langfuse.flush()`)؟\n\nاختبار سريع:\n\n```python\nfrom langfuse import Langfuse\nlf = Langfuse()\nlf.trace(name=\"test-connection\")\nlf.flush()\nprint(\"تم إرسال الـ trace — تحقق من لوحة التحكم.\")\n```\n\n**4. حلقة إعادة توجيه بعد تسجيل الدخول.**\nالسبب الأكثر شيوعًا: `NEXTAUTH_URL` لا يطابق النطاق المستخدم، أو لم يُرسَل `X-Forwarded-Proto` من ‫nginx‬. تحقق من أن `NEXTAUTH_URL=https:\u002F\u002Fyour-domain.com` وأن إعداد ‫nginx‬ يتضمن `proxy_set_header X-Forwarded-Proto $scheme;`.\n\n**5. ‫ClickHouse‬ يستهلك كل ذاكرة ‫RAM‬ المتاحة.**\nحدّ استهلاك الذاكرة بإضافة إلى `.env`:\n\n```bash\nCLICKHOUSE_MAX_MEMORY_USAGE=2000000000\n```\n\nهذه القيمة (2 GB) نقطة بداية معقولة لـ ‫VPS‬ بـ 8 GB يُشغّل ‫Langfuse‬ وحده.",{"type":39,"title":97,"body":98},"‫Langfuse‬ مقابل ‫Langsmith‬ و‫Helicone‬","‫Langsmith‬ (منتج ‫LangChain‬ المستضاف) و‫Helicone‬ هما البديلان السحابيان الرئيسيان. كلاهما ممتاز — وكلاهما يتطلب توجيه ‫traces‬ الخاصة بك عبر خوادمهم. للفرق التي تتعامل مع ‫prompts‬ حساسة (قانونية، مالية، طبية)، أو لبيئات الامتثال التي تحظر تسرّب البيانات إلى طرف ثالث، الاستضافة الذاتية ليست خيارًا. يمنحك ‫Langfuse‬ نفس مجموعة الميزات (التتبّع، التقييمات، إدارة الـ ‫prompts‬، تحليلات التكاليف) على بنية تحتية تتحكم فيها.","انشر Langfuse على خادم VPS الخاص بك","احصل على مراقبة كاملة لنماذج LLM بنقرة واحدة — تتبّع كل طلب ذكاء اصطناعي، وأدر المطالبات (prompts)، وراقب التكاليف، على بنية تحتية تحت سيطرتك الكاملة.","انشر Langfuse","\u002Fapplications\u002Fالذكاء-الاصطناعي\u002Flangfuse",[104,128,147],{"id":105,"slug":106,"slugs":107,"title":111,"excerpt":112,"readTime":113,"views":114,"isPinned":19,"noindex":19,"publishedAt":115,"updatedAt":116,"category":117,"categories":123,"featuredImage":30,"bgImage":31,"posterImage":125,"relatedSolution":126},156,"استضف-litellm-ذاتيا-على-vps-بوابة-api-خاصة-لنماذج-llm",{"fr":108,"en":109,"ar":106,"es":110},"self-host-litellm-vps","self-host-litellm-on-a-vps-your-private-llm-api-gateway","alojar-litellm-en-un-vps-pasarela-llm-privada","استضف LiteLLM ذاتيًا على VPS: بوابة API خاصة لنماذج LLM","انشر LiteLLM على VPS من ServOrbit — بوابة API مستضافة ذاتيًا ومتوافقة مع OpenAI توجّه إلى Ollama وAnthropic وAzure وأكثر من 100 مزوّد، مع تتبّع الإنفاق وحدود معدّل لكل مفتاح.",9,3,"2026-01-21T00:00:00+00:00","2026-11-09T20:55:12+00:00",{"id":118,"name":119,"slug":120,"color":121,"icon":122},7,"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[124],{"id":118,"name":119,"slug":120,"color":121,"icon":122},"\u002Fblog\u002Fcovers\u002Fself-host-litellm-vps-poster.svg",{"categorySlug":34,"appSlug":127},"litellm",{"id":129,"slug":130,"slugs":131,"title":135,"excerpt":136,"readTime":137,"views":138,"isPinned":19,"noindex":19,"publishedAt":139,"updatedAt":140,"category":141,"categories":142,"featuredImage":30,"bgImage":31,"posterImage":144,"relatedSolution":145},12,"كيفية-استضافة-localai-على-خادم-vps",{"fr":132,"en":133,"ar":130,"es":134},"heberger-localai-vps","how-to-host-localai-on-a-vps","como-alojar-localai-en-un-vps","كيفية استضافة ‫LocalAI‬ على خادم ‫VPS‬","انشر ‫LocalAI‬ على خادم ‫VPS‬ الخاص بك: ‫Docker Compose‬ كامل، نماذج ‫GGUF‬، معرض النماذج، ‫Whisper‬، التضمينات، حماية بمفتاح ‫API‬، اتصال ‫SDK OpenAI‬ وحل المشكلات.",8,0,"2026-06-08T00:00:00+00:00","2026-10-07T23:07:24+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[143],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-localai-vps-poster.svg",{"categorySlug":34,"appSlug":146},"local-ai",{"id":148,"slug":149,"slugs":150,"title":154,"excerpt":155,"readTime":156,"views":138,"isPinned":19,"noindex":19,"publishedAt":157,"updatedAt":158,"category":159,"categories":160,"featuredImage":30,"bgImage":31,"posterImage":162,"relatedSolution":163},176,"استضافة-openobserve-على-vps-سجلات-ومقاييس-وتتبعات-موحدة",{"fr":151,"en":152,"ar":149,"es":153},"self-host-openobserve-vps","self-host-openobserve-on-a-vps-unified-logs-metrics-and-traces","alojar-openobserve-en-un-vps","استضافة OpenObserve على VPS: سجلات ومقاييس وتتبّعات موحّدة","استبدل حزمة Elasticsearch وGrafana بـ OpenObserve: ملف Rust تنفيذي واحد للسجلات والمقاييس والتتبّعات واللوحات، بتكلفة تخزين أقل بمقدار 140 مرة.",6,"2026-07-10T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":118,"name":119,"slug":120,"color":121,"icon":122},[161],{"id":118,"name":119,"slug":120,"color":121,"icon":122},"\u002Fblog\u002Fcovers\u002Fself-host-openobserve-vps-poster.svg",{"categorySlug":164,"appSlug":165},"المراقبة-وقابلية-الرصد","openobserve",true,1794270224994]