deploy on the cloud and made some refactory on files
هذا الالتزام موجود في:
77
q5-mithal-monitor/README.md
Normal file
77
q5-mithal-monitor/README.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# مراقبة 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`.
|
||||
المرجع في مشكلة جديدة
حظر مستخدم