# كيفية مراقبة وتشخيص البنية التحتية باستخدام Rediacc

يتطلب الحفاظ على صحة البنية التحتية رؤية واضحة لحالة الجهاز وحالة الحاويات وصحة الخدمات. في هذا الدرس، ستقوم بتشغيل تشخيصات البيئة، وفحص صحة الجهاز، وفحص الحاويات والخدمات، ومراجعة حالة الخزنة، والتحقق من الاتصال. عند الانتهاء، ستعرف كيفية تحديد المشكلات والتحقيق فيها عبر بنيتك التحتية.

## المتطلبات الأساسية

- تثبيت `rdc` CLI مع تهيئة الإعدادات
- جهاز مُعد مع مستودع واحد على الأقل قيد التشغيل (انظر [درس: دورة حياة المستودع](/ar/docs/tutorial-repos))

## التسجيل التفاعلي

![درس: المراقبة والتشخيص](/assets/tutorials/monitoring-tutorial.cast)

### الخطوة 1: تشغيل التشخيصات

ابدأ بفحص بيئتك المحلية بحثاً عن أي مشكلات في الإعدادات.

```bash
rdc doctor
```

يفحص Node.js وإصدار CLI وملف renet الثنائي والإعدادات ودعم المحاكاة الافتراضية. كل فحص يعرض **OK** أو **Warning** أو **Error**.

### الخطوة 2: فحص صحة الجهاز

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

يجلب تقريراً شاملاً عن الصحة من الجهاز البعيد: وقت تشغيل النظام، واستخدام القرص، واستخدام مخزن البيانات، وعدد الحاويات، وحالة SMART للتخزين، وأي مشكلات محددة.

### الخطوة 3: عرض الحاويات العاملة

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

يسرد جميع الحاويات العاملة عبر جميع المستودعات على الجهاز، مع عرض الاسم والحالة والوضع والصحة واستخدام CPU واستخدام الذاكرة والمستودع المالك لكل حاوية.

### الخطوة 4: فحص خدمات systemd

لرؤية الخدمات الأساسية التي تشغل Docker daemon والشبكات لكل مستودع:

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

يسرد خدمات systemd المتعلقة بـ Rediacc (Docker daemons، أسماء loopback المستعارة) مع حالتها وحالتها الفرعية وعدد مرات إعادة التشغيل واستخدام الذاكرة.

### الخطوة 5: نظرة عامة على حالة الخزنة

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

يوفر نظرة عامة عالية المستوى على الجهاز: اسم المضيف، ووقت التشغيل، والذاكرة، والقرص، ومخزن البيانات، وإجمالي عدد المستودعات.

### الخطوة 6: مسح مفاتيح المضيف

إذا أُعيد بناء الجهاز أو تغير عنوان IP الخاص به، قم بتحديث مفتاح SSH المخزن.

```bash
rdc config machine scan-keys -m server-1
```

يجلب مفاتيح المضيف الحالية للخادم ويحدث إعداداتك. هذا يمنع أخطاء "فشل التحقق من مفتاح المضيف".

### الخطوة 7: التحقق من الاتصال

فحص سريع لاتصال SSH للتأكد من أن الجهاز يمكن الوصول إليه ويستجيب.

```bash
rdc term connect -m server-1 -c "hostname"
rdc term connect -m server-1 -c "uptime"
```

يؤكد اسم المضيف أنك متصل بالخادم الصحيح. يؤكد وقت التشغيل أن النظام يعمل بشكل طبيعي.

## استكشاف الأخطاء وإصلاحها

**انتهاء مهلة فحص الصحة أو ظهور "SSH connection failed"**
تحقق من أن الجهاز متصل ويمكن الوصول إليه: `ping <ip>`. تحقق من أن مفتاح SSH الخاص بك مُعد بشكل صحيح باستخدام `rdc term connect -m <machine> -c "echo ok"`.

**"Service not found" في قائمة الخدمات**
تظهر خدمات Rediacc فقط بعد نشر مستودع واحد على الأقل. إذا لم تكن هناك مستودعات، فإن قائمة الخدمات تكون فارغة.

**قائمة الحاويات تعرض حاويات قديمة أو متوقفة**
قد تبقى حاويات من عمليات نشر سابقة إذا لم يتم تشغيل `repo down` بشكل نظيف. أوقفها باستخدام `rdc repo down <repo> -m <machine>` أو افحصها مباشرة عبر `rdc term connect -m <machine> -r <repo> -c "docker ps -a"`.

## الخطوات التالية

لقد قمت بتشغيل التشخيصات، وفحص صحة الجهاز، وفحص الحاويات والخدمات، والتحقق من الاتصال. للعمل مع عمليات النشر الخاصة بك:

- [المراقبة](/ar/docs/monitoring), مرجع كامل لجميع أوامر المراقبة
- [استكشاف الأخطاء](/ar/docs/troubleshooting), المشكلات الشائعة والحلول
- [درس: الأدوات](/ar/docs/tutorial-tools), الطرفية، ومزامنة الملفات، وتكامل VS Code