84 lines
2.2 KiB
Markdown
84 lines
2.2 KiB
Markdown
# المراقبة والقابلية للملاحظة
|
|
|
|
## فحوصات الصحة
|
|
|
|
### نقطة نهاية صحة HTTP
|
|
|
|
```bash
|
|
curl http://localhost:9470/health
|
|
```
|
|
|
|
الاستجابة:
|
|
|
|
```json
|
|
{
|
|
"status": "healthy",
|
|
"version": "0.1.0",
|
|
"uptime_seconds": 86400,
|
|
"checks": {
|
|
"storage": "ok",
|
|
"memory": "ok",
|
|
"connections": "ok"
|
|
}
|
|
}
|
|
```
|
|
|
|
## المقاييس
|
|
|
|
### مقاييس متوافقة مع Prometheus
|
|
|
|
```bash
|
|
curl http://localhost:9470/metrics
|
|
```
|
|
|
|
مثال على المخرجات:
|
|
|
|
```
|
|
baradb_queries_total 152340
|
|
baradb_queries_duration_seconds_bucket{le="0.001"} 45000
|
|
baradb_storage_lsm_size_bytes 2147483648
|
|
baradb_cache_hit_rate 0.94
|
|
baradb_active_connections 42
|
|
```
|
|
|
|
## التسجيل
|
|
|
|
### مستويات السجل
|
|
|
|
| المستوى | الوصف |
|
|
|---------|-------|
|
|
| `debug` | عمليات داخلية مفصلة |
|
|
| `info` | عمليات عادية |
|
|
| `warn` | مشاكل قابلة للاسترداد |
|
|
| `error` | فشل يستلزم الاهتمام |
|
|
|
|
### سجلات JSON المهيكلة
|
|
|
|
```bash
|
|
BARADB_LOG_LEVEL=info \
|
|
BARADB_LOG_FORMAT=json \
|
|
BARADB_LOG_FILE=/var/log/baradb/baradb.log \
|
|
./build/baradadb
|
|
```
|
|
|
|
## لوحة Grafana
|
|
|
|
استيراد معرف اللوحة `baradb-001` أو استخدام JSON في `monitoring/grafana-dashboard.json`.
|
|
|
|
اللوحات الرئيسية:
|
|
- الاستعلامات في الثانية
|
|
- نسب مئوية لتأخير الاستعلام (p50, p95, p99)
|
|
- حجم التخزين وعدد SSTable
|
|
- معدل إصابة ذاكرة التخزين المؤقت
|
|
- الاتصالات النشطة
|
|
- معدل المعاملات
|
|
- معدل الأخطاء
|
|
|
|
## حل المشكلات بالمقاييس
|
|
|
|
| العَرَض | المقاييس | الإجراء |
|
|
|---------|----------|---------|
|
|
| استعلامات بطيئة | `baradb_queries_duration_seconds` | فحص معدل إصابة ذاكرة التخزين المؤقت، إضافة فهارس |
|
|
| ذاكرة عالية | `process_resident_memory_bytes` | تقليل أحجام memtable/cache |
|
|
| نمو التخزين | `baradb_storage_lsm_size_bytes` | تشغيل الضغط اليدوي |
|
|
| أخطاء الاتصال | `baradb_active_connections` | زيادة تجمع الاتصالات أو إضافة العقد | |