# المراقبة

يوفر Rediacc أوامر مراقبة مدمجة لفحص صحة الأجهزة والحاويات قيد التشغيل والخدمات وحالة المستودعات وتشخيصات النظام.

## صحة الجهاز

الحصول على تقرير صحي شامل لجهاز:

```bash
rdc machine health server-1
```

يُبلغ هذا عن:
- **النظام**: وقت التشغيل، استخدام القرص، استخدام مخزن البيانات
- **الحاويات**: عدد الحاويات قيد التشغيل والسليمة وغير السليمة
- **التخزين**: حالة SMART
- **المشكلات**: المشكلات المكتشفة

استخدم `--output json` للحصول على مخرجات قابلة للقراءة آليًا.

## عرض الحاويات

عرض جميع الحاويات قيد التشغيل عبر جميع المستودعات على جهاز:

```bash
rdc machine containers server-1
```

| العمود | الوصف |
|--------|-------|
| Name | اسم الحاوية |
| Status | وقت التشغيل أو سبب الإيقاف |
| State | قيد التشغيل، متوقف، إلخ. |
| Health | سليم، غير سليم، بدون |
| CPU | نسبة استخدام المعالج |
| Memory | استخدام الذاكرة / الحد الأقصى |
| Repository | المستودع الذي يمتلك الحاوية |

الخيارات:
- `--health-check`, إجراء فحوصات صحية نشطة على الحاويات
- `--output json`, مخرجات JSON قابلة للقراءة آليًا

تتضمن مخرجات JSON تفاصيل الحاويات الكاملة (`labels` و`port_mappings` و`image` و`id`) بالإضافة إلى `repository` (الاسم المحلول) و`repository_guid` (المعرّف GUID الأصلي) و`domain` و`autoRoute`.

## عرض الخدمات

عرض خدمات systemd المتعلقة بـ Rediacc على جهاز:

```bash
rdc machine services server-1
```

| العمود | الوصف |
|--------|-------|
| Name | اسم الخدمة |
| State | نشط، غير نشط، فاشل |
| Sub-state | قيد التشغيل، متوقف، إلخ. |
| Restarts | عدد مرات إعادة التشغيل |
| Memory | استخدام ذاكرة الخدمة |
| Repository | المستودع المرتبط |

الخيارات:
- `--stability-check`, تمييز الخدمات غير المستقرة (فاشلة، أكثر من 3 إعادات تشغيل، إعادة تشغيل تلقائية)
- `--output json`, مخرجات JSON قابلة للقراءة آليًا

تتضمن مخرجات JSON تفاصيل الخدمات الكاملة مع `repository` (الاسم المحلول) و`repository_guid` (المعرّف GUID الأصلي).

## عرض المستودعات

عرض المستودعات على جهاز مع إحصائيات مفصلة:

```bash
rdc machine repos server-1
```

| العمود | الوصف |
|--------|-------|
| Name | اسم المستودع |
| Size | حجم صورة القرص |
| Mount | مثبّت أو غير مثبّت |
| Docker | Docker daemon قيد التشغيل أو متوقف |
| Containers | عدد الحاويات |
| Disk Usage | الاستخدام الفعلي للقرص داخل المستودع |
| Modified | وقت آخر تعديل |

الخيارات:
- `--search <text>`, التصفية حسب الاسم أو مسار التثبيت
- `--output json`, مخرجات JSON قابلة للقراءة آليًا

تتضمن مخرجات JSON الحقلين `name` (الاسم المحلول) و`guid` (المعرّف GUID الأصلي)، كما تدرج لكل مستودع مصفوفتَي `containers` (بما فيها `domain` و`autoRoute` و`repository`/`repository_guid`) و`services`.

## حالة Vault

الحصول على نظرة عامة كاملة على جهاز بما في ذلك معلومات النشر:

```bash
rdc machine vault-status --name server-1
```

يوفر هذا:
- اسم المضيف ووقت التشغيل
- استخدام الذاكرة والقرص وDatastore
- إجمالي المستودعات وعدد المثبّتة وعدد Docker قيد التشغيل
- معلومات تفصيلية لكل مستودع

استخدم `--output json` للحصول على مخرجات قابلة للقراءة آليًا.

## اختبار الاتصال

> **محوّل السحابة فقط.** في الوضع المحلي، استخدم `rdc term connect -m server-1 -c "hostname"` للتحقق من الاتصال.

التحقق من اتصال SSH بجهاز:

```bash
rdc machine test-connection --ip 203.0.113.50 --user deploy
```

يُبلغ عن:
- حالة الاتصال (ناجح/فاشل)
- طريقة المصادقة المستخدمة
- تكوين مفتاح SSH
- حالة نشر المفتاح العام
- إدخال Known hosts

الخيارات:
- `--port <number>`, منفذ SSH (الافتراضي: 22)
- `--save -m server-1`, حفظ مفتاح المضيف المتحقق منه في تكوين الجهاز

## التشخيصات (doctor)

تشغيل فحص تشخيصي شامل لبيئة Rediacc الخاصة بك:

```bash
rdc doctor
```

| الفئة | الفحوصات |
|-------|----------|
| **البيئة** | إصدار Node.js، إصدار CLI، وضع SEA، تثبيت Go، توفر Docker |
| **Renet** | موقع الملف الثنائي، الإصدار، CRIU، rsync، أصول SEA المضمنة |
| **التكوين** | الإعداد النشط، المحوّل، الأجهزة، مفتاح SSH |
| **المحاكاة الافتراضية** | التحقق من إمكانية تشغيل أجهزة افتراضية محلية (`rdc ops`) |

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

رموز الخروج: `0` = نجاح الكل، `1` = تحذيرات، `2` = أخطاء.