# مراقبة mithal.space ولوحة متابعة مباشرة حل مستقل لمراقبة موقع `mithal.space` بدون أي مكتبات خارجية. يشغّل السكربت فحوصات دورية، يخزّن النتائج محليًا بصيغة JSON Lines، ويقدّم لوحة متابعة عبر HTTP. ## محتويات المشروع ``` . ├── Dockerfile ├── .ghaymah.json ├── monitor.py # فحوصات Latency/Uptime/DNS/SSL/Search + خادم HTTP ├── dashboard.html # لوحة متابعة مباشرة └── demo/ # لقطات توضيحية للتشغيل واللوحة ``` ## الفحوصات المنفذة - **Latency/Uptime:** فحص الصفحة الرئيسية وقياس زمن الاستجابة. - **DNS:** قياس زمن تحليل اسم النطاق. - **SSL:** التحقق من صلاحية الشهادة وعدد الأيام المتبقية. - **Search:** إرسال طلب بحث فعلي إلى مسار البحث وقياس الاستجابة. ## التشغيل المحلي ```bash cd q5-mithal-monitor python monitor.py --interval 60 --port 8080 ``` ثم افتح: ```text http://localhost:8080 ``` المسارات المتاحة: - `/` أو `/dashboard.html`: لوحة المتابعة. - `/api/metrics`: آخر المقاييس مجمّعة بصيغة JSON. - `/health`: فحص صحة للخدمة نفسها. لتنفيذ فحص واحد فقط بدون تشغيل الخادم: ```bash python monitor.py --once ``` ## التخصيص يمكن تعديل الهدف وسلوك البحث عبر متغيرات البيئة: | المتغير | الافتراضي | الغرض | |---|---|---| | `TARGET_URL` | `https://mithal.space` | الموقع المراد مراقبته | | `SEARCH_PATH` | `/search` | مسار البحث | | `SEARCH_QUERY_PARAM` | `q` | اسم باراميتر البحث | | `SEARCH_QUERY_VALUE` | `test` | قيمة البحث التجريبية | | `REQUEST_TIMEOUT` | `10` | مهلة الطلب بالثواني | | `DATA_FILE` | `data.jsonl` | ملف تخزين النتائج | | `MAX_RECORDS` | `3000` | أقصى عدد سجلات محفوظة | | `PORT` | `8080` | منفذ لوحة المتابعة | ## النشر على غيمة الصورة جاهزة للبناء مباشرة من `Dockerfile`: ```bash docker build -t mithal-monitor:latest . docker run --rm -p 8080:8080 mithal-monitor:latest ``` عند إنشاء الخدمة على Ghaymah Containers: - اضبط المنفذ على `8080`. - اضبط Health Check Path على `/health`. - مرّر متغير `TARGET_URL` إذا أردت مراقبة نطاق مختلف. - افتح الرابط العام للخدمة لعرض `dashboard.html`.