deploy on the cloud and made some refactory on files
هذا الالتزام موجود في:
17
q5-mithal-monitor/.ghaymah.json
Normal file
17
q5-mithal-monitor/.ghaymah.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"id": "08631d77-6ab4-4956-87c9-2c56db25c940",
|
||||
"name": "q5-mithal-monitor",
|
||||
"projectId": "150648a2-a09a-4387-a3af-35f966a28292",
|
||||
"ports": [
|
||||
{
|
||||
"expose": true,
|
||||
"number": 8080
|
||||
}
|
||||
],
|
||||
"publicAccess": {
|
||||
"enabled": true,
|
||||
"domain": "auto"
|
||||
},
|
||||
"resourceTier": "t1",
|
||||
"dockerFileName": "Dockerfile"
|
||||
}
|
||||
9
q5-mithal-monitor/Dockerfile
Normal file
9
q5-mithal-monitor/Dockerfile
Normal file
@@ -0,0 +1,9 @@
|
||||
FROM python:3.11-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY monitor.py dashboard.html /app/
|
||||
|
||||
EXPOSE 8080
|
||||
|
||||
CMD ["python", "monitor.py"]
|
||||
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`.
|
||||
ثنائية
q5-mithal-monitor/demo/CLI.png
Normal file
ثنائية
q5-mithal-monitor/demo/CLI.png
Normal file
ملف ثنائي غير معروض.
|
بعد العرض: | الارتفاع: | الحجم: 64 KiB |
ثنائية
q5-mithal-monitor/demo/dashboard.png
Normal file
ثنائية
q5-mithal-monitor/demo/dashboard.png
Normal file
ملف ثنائي غير معروض.
|
بعد العرض: | الارتفاع: | الحجم: 76 KiB |
المرجع في مشكلة جديدة
حظر مستخدم