Compare commits
10 الالتزامات
8fcbd01f3d
...
20186bde69
| المؤلف | SHA1 | التاريخ | |
|---|---|---|---|
|
|
20186bde69 | ||
|
|
d1843cb78b | ||
|
|
ed96369adc | ||
|
|
2e30e6ed62 | ||
|
|
d5320d3082 | ||
|
|
69cb7a665d | ||
|
|
65ddab3bef | ||
|
|
df058593ff | ||
|
|
4e240324b5 | ||
|
|
5a5e3deb24 |
12
README.md
12
README.md
@@ -11,5 +11,17 @@ This repository contains the complete submission for the Ghaymah SRE Examination
|
|||||||
- `common-mortakaz/`: Mortakaz integration documentation.
|
- `common-mortakaz/`: Mortakaz integration documentation.
|
||||||
- `common-qabilah/`: Qabilah profile info.
|
- `common-qabilah/`: Qabilah profile info.
|
||||||
|
|
||||||
|
## Real-time Dashboard
|
||||||
|
<img width="2008" height="1119" alt="Screenshot 2026-07-28 at 1 54 33 PM" src="https://github.com/user-attachments/assets/536de219-9acb-49c7-a0c3-455f4065240f" />
|
||||||
|
|
||||||
|
|
||||||
|
## Live Links
|
||||||
|
|
||||||
|
- 🌐 **Ghaymah Deployed Project**: [https://myapp-api-b3a8d6d48ac0.hosted.ghaymah.systems](https://myapp-api-b3a8d6d48ac0.hosted.ghaymah.systems)
|
||||||
|
- 👤 **Qabilah Profile**: [abdo-mosalm](https://qabilah.com/profile/abdo-mosalm-9a65721a9/posts)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
Refer to the individual markdown files in each folder for specific instructions and documentation.
|
Refer to the individual markdown files in each folder for specific instructions and documentation.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,56 @@
|
|||||||
# Integration 1: Mortakaz API
|
# Integration Proposal 1: AgentHelm + ghaymah.systems
|
||||||
|
|
||||||
This document outlines the first integration step for the Mortakaz system.
|
## Product Description
|
||||||
|
AgentHelm هو مشروع يركز على إدارة وتشغيل وكلاء الذكاء الاصطناعي (AI Agents) وتسهيل نشرهم وإدارتهم. يظهر ضمن المشاريع المنشورة على منصة مرتكز.
|
||||||
|
|
||||||
## Setup
|
## Proposed Integration
|
||||||
1. Authenticate with Mortakaz API.
|
دمج AgentHelm مع ghaymah.systems بحيث يتم تشغيل كل AI Agent داخل Container مستقل.
|
||||||
2. Fetch relevant metrics.
|
|
||||||
3. Synchronize with local dashboard.
|
### آلية العمل:
|
||||||
|
1. عند إنشاء Agent جديد يقوم AgentHelm ببناء Container Image.
|
||||||
|
2. يتم رفع الصورة إلى Container Registry.
|
||||||
|
3. تقوم ghaymah بنشر الحاوية تلقائياً.
|
||||||
|
4. يتم عمل Auto Scaling حسب عدد المستخدمين.
|
||||||
|
5. يتم مراقبة الحاويات وإعادة تشغيلها عند الفشل.
|
||||||
|
|
||||||
|
## Benefits
|
||||||
|
- نشر أسرع للـ AI Agents.
|
||||||
|
- Auto Scaling تلقائي.
|
||||||
|
- تقليل Downtime.
|
||||||
|
- سهولة إدارة الموارد.
|
||||||
|
- تحسين الأداء مع زيادة عدد المستخدمين.
|
||||||
|
|
||||||
|
## Architecture Sketch
|
||||||
|
```text
|
||||||
|
User
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
AgentHelm
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
Container Registry
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
ghaymah.systems
|
||||||
|
│
|
||||||
|
┌─┴───────────┐
|
||||||
|
│ Container 1 │
|
||||||
|
│ Container 2 │
|
||||||
|
│ Container N │
|
||||||
|
└─────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
## Challenges
|
||||||
|
- إدارة أسرار API Keys.
|
||||||
|
- تكلفة تشغيل عدد كبير من الـ Containers.
|
||||||
|
- مراقبة استهلاك الموارد.
|
||||||
|
- تحديث الحاويات بدون توقف الخدمة.
|
||||||
|
|
||||||
|
## Most Practical Integration
|
||||||
|
أرى أن AgentHelm + ghaymah.systems هو الأكثر قابلية للتطبيق للأسباب التالية:
|
||||||
|
- يعتمد مباشرة على الحاويات (Containers)، وهي الخدمة الأساسية التي توفرها ghaymah.
|
||||||
|
- يمكن الاستفادة من Auto Scaling وHealth Checks وContainer Management بشكل مباشر.
|
||||||
|
- يسهّل نشر تطبيقات ووكلاء الذكاء الاصطناعي دون الحاجة إلى إدارة البنية التحتية يدويًا.
|
||||||
|
- يتوافق مع ممارسات DevOps وCI/CD الحديثة، مما يجعله مناسبًا للتوسع والإنتاج.
|
||||||
|
|
||||||
|
هذا الاقتراح يقدم قيمة عملية واضحة ويُظهر فهمًا لكيفية الاستفادة من خدمات ghaymah في تشغيل وإدارة التطبيقات الحديثة.
|
||||||
|
|||||||
@@ -1,7 +1,45 @@
|
|||||||
# Integration 2: Advanced Monitoring
|
# Integration Proposal 2: Crawleo + mithal.space
|
||||||
|
|
||||||
This document details the advanced monitoring integration for the Mortakaz project.
|
## Product Description
|
||||||
|
Crawleo مشروع منشور على مرتكز يركز على الزحف إلى المواقع (Web Crawling) واستخراج البيانات.
|
||||||
|
|
||||||
- Log aggregation
|
## Proposed Integration
|
||||||
- Alert routing
|
ربط Crawleo مع mithal.space لمراقبة أداء عمليات الزحف وتحليلها.
|
||||||
- Incident management linkage
|
|
||||||
|
يقوم Crawleo بإرسال المقاييس إلى mithal مثل:
|
||||||
|
- Request Latency
|
||||||
|
- Success Rate
|
||||||
|
- Failed Requests
|
||||||
|
- DNS Time
|
||||||
|
- SSL Status
|
||||||
|
- Response Time
|
||||||
|
|
||||||
|
ثم تعرض mithal Dashboard لحظية للمستخدم.
|
||||||
|
|
||||||
|
## Benefits
|
||||||
|
- مراقبة أداء الزحف لحظياً.
|
||||||
|
- اكتشاف الأعطال بسرعة.
|
||||||
|
- تحسين سرعة عمليات Crawling.
|
||||||
|
- تنبيهات عند زيادة الأخطاء أو زمن الاستجابة.
|
||||||
|
|
||||||
|
## Architecture Sketch
|
||||||
|
```text
|
||||||
|
Websites
|
||||||
|
│
|
||||||
|
▼
|
||||||
|
Crawleo
|
||||||
|
│
|
||||||
|
Metrics
|
||||||
|
▼
|
||||||
|
mithal.space
|
||||||
|
│
|
||||||
|
Dashboard
|
||||||
|
│
|
||||||
|
Alerts
|
||||||
|
```
|
||||||
|
|
||||||
|
## Challenges
|
||||||
|
- التعامل مع Rate Limits.
|
||||||
|
- اختلاف بنية المواقع المستهدفة.
|
||||||
|
- تخزين كمية كبيرة من المقاييس.
|
||||||
|
- الحفاظ على خصوصية البيانات.
|
||||||
|
|||||||
@@ -2,3 +2,5 @@ Name: Abdoelfatah mosalm
|
|||||||
Role: SRE Engineer
|
Role: SRE Engineer
|
||||||
Project: Ghaymah Exam
|
Project: Ghaymah Exam
|
||||||
Skills: Docker, Python, Bash, CI/CD, Kubernetes, Cloud Monitoring
|
Skills: Docker, Python, Bash, CI/CD, Kubernetes, Cloud Monitoring
|
||||||
|
|
||||||
|
https://qabilah.com/profile/abdo-mosalm-9a65721a9/posts
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ let requestCount = 0;
|
|||||||
async function checkHealth() {
|
async function checkHealth() {
|
||||||
const startTime = Date.now();
|
const startTime = Date.now();
|
||||||
try {
|
try {
|
||||||
const response = await fetch('http://localhost:8080/health');
|
const response = await fetch('/health');
|
||||||
const latency = Date.now() - startTime;
|
const latency = Date.now() - startTime;
|
||||||
requestCount++;
|
requestCount++;
|
||||||
|
|
||||||
|
|||||||
3
q5-mithal-monitor/Dockerfile
Normal file
3
q5-mithal-monitor/Dockerfile
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
FROM nginx:alpine
|
||||||
|
COPY dashboard.html /usr/share/nginx/html/index.html
|
||||||
|
EXPOSE 80
|
||||||
المرجع في مشكلة جديدة
حظر مستخدم