# السجلات والمقاييس

تعرض صفحة كل بيئة في لوحة الإدارة كيف تُستخدم وماذا كتبت خدماتها، فترى الطلب الفاشل دون أن تدخل إلى الخادم.

## الاستخدام

يرى كل عضو في العميل قسم **Usage** في صفحة البيئة:

- **الطلبات** عبر الواجهة في آخر ساعة، وكم منها أخطاء من العميل (4xx) أو أخطاء من الخادم (5xx).
- **زمن الاستجابة**، الوسيط والنسبة المئوية 95، مقيسًا عند البوابة.
- رسم للطلبات في كل دقيقة، والأخطاء فيه باللون الأحمر، وعدد الطلبات لكل خدمة (Auth وREST وStorage وRealtime).
- استهلاك **الذاكرة والمعالج** لخدمات Auth وREST وRealtime وEdge Functions الخاصة بالبيئة في هذه اللحظة.

تعدّ البوابة الطلبات في الذاكرة. إعادة تشغيل صباربيز تبدأ العدّ من جديد، ولا يُحفظ شيء أقدم من ساعة.

## السجلات

يرى المالكون والمديرون أيضًا قسم **Logs**. اختر مصدرًا (**Source**):

- **Requests:** آخر 500 طلب عبر الواجهة: الوقت والطريقة والخدمة والمسار والحالة والزمن المستغرق. لا يُحفظ نص الاستعلام أبدًا، فلا تظهر المرشحات أو الرموز أو المفاتيح التي فيه.
- **Auth وREST وStorage وRealtime وEdge Functions:** آخر 200 سطر كتبته الخدمة الأصلية، كما كتبته. خدمة Storage مشتركة بين كل البيئات، لذا لا تظهر إلا الأسطر التي تذكر هذه البيئة.

خيار **Errors only** يُبقي الطلبات الفاشلة، أو الأسطر التي تبدو أخطاء أو تحذيرات.

قبل أن يخرج أي سطر من الخادم، تُستبدل المفاتيح والرموز وكلمات المرور ورموز JWT الموقّعة ورموز OAuth وكلمات مرور قاعدة البيانات بـ `[redacted]`. قد تذكر سجلات الخدمات عناوين بريد المستخدمين وأسماء جداولك، لذلك لا يراها أصحاب صلاحية العرض فقط.

يستخدم CI بيئة عبر supabase-js على جهاز نظيف مع كل تغيير، ثم يقرأ استخدامها وكل مصادر سجلاتها، ويتحقق أن أي رد لا يحمل مفتاحًا أو رمزًا ([الدليل](https://github.com/M7MMAD-OMAR/sbarbase/blob/main/docs/evidence/docker-observe-checks.json)).

## من سكربت

البيانات نفسها متاحة عبر واجهة الإدارة برمز مشغّل:

```bash
curl -H "Authorization: Bearer $TOKEN" "$CONSOLE/management/v1/environments/$ID/metrics"
curl -H "Authorization: Bearer $TOKEN" "$CONSOLE/management/v1/environments/$ID/logs?source=auth&lines=100&errors=1"
```

الحقول موصوفة في [مرجع الواجهة](https://base.sbarah.com/docs/reference/api/). يأخذ `lines` قيمة من 1 إلى 1000، و200 إن لم تحدده.

برمز وصول شخصي، يقرأ وكيل الذكاء الاصطناعي سجلات الطلبات وAuth وStorage وRealtime وEdge Functions عبر أداة MCP `get_logs` أو عبر `GET /v1/projects/{ref}/analytics/endpoints/logs` ([وكلاء الذكاء الاصطناعي](https://base.sbarah.com/docs/guides/agents/)). وعلى الخادم يعرض `sbarbase logs` سجل الخدمة نفسها دون تصفية ([الأمر sbarbase](https://base.sbarah.com/en/docs/guides/cli/#logs)).

## الحدود

- مجاميع الطلبات وسجلها في الذاكرة، ويبدآن فارغين بعد إعادة التشغيل. لتاريخ أطول، احفظ مخرجات `docker logs` بأداة جمع السجلات التي تستخدمها.
- لا يظهر سجل PostgreSQL في لوحة الإدارة: خادم قاعدة البيانات مشترك بين كل البيئات. وعلى الخادم يعرضه `sbarbase logs database`.
- لا توجد تنبيهات على نسب الأخطاء بعد. تغطي [تنبيهات المشغّل](https://base.sbarah.com/en/docs/reference/configuration/#operator-notifications) البيئة التي تبلغ حد طلباتها مرارًا، وامتلاء القرص، وتوقف حاوية خدمة، وفشل النسخ الاحتياطي، والتحديثات؛ اربط تيليجرام من صفحة التنبيهات في لوحة الإدارة.
