الفصل 19 الامتثال والتخزين & التشغيل المسؤول: #pAlerts

لوحة التشغيل والتنبيهات والقياس عن بُعد المباشر

تعرض لوحة التشغيل (#pOps) مباشرةً وكسجل على مدى 24 ساعة: الرسائل في الدقيقة واردة وصادرة، والبريد المؤجل والمرتد، ونسبة البريد العشوائي، ومحاولات تسجيل الدخول الفاشلة، وحجم قائمة الانتظار وعمر أقدم رسالة، والاتصالات النشطة لكل بروتوكول، وCPU، والذاكرة، ومساحة القرص الحرة، وحجم قاعدة البيانات، وانتهاء صلاحية الشهادات، وعقد العنقود. وتُبلغ التنبيهات (#pAlerts) عن التجاوزات عبر البريد الإلكتروني أو webhook أو SMS أو Telegram أو Signal أو WhatsApp. وتقرأ الأدوات الخارجية البيانات نفسها عبر /metrics (Prometheus) أو OpenTelemetry أو تدفق الأحداث المباشر (Server-Sent Events).

نصيحة تشغيلية وملاحظة حول البنية

عند التشغيل الأول ينشئ nextxch خمس قواعد دون أهداف (قائمة انتظار متوقفة، وقرص شبه ممتلئ، وشهادة توشك على الانتهاء، وكثرة محاولات تسجيل الدخول الفاشلة، وكثرة الارتدادات). وتظهر في السجل؛ ولتلقي الإشعارات، أضيفوا عنوان بريد إلكتروني أو webhook ضمن الأهداف وحدّدوه في القاعدة. ويبقى السجل محفوظًا بعد إعادة التشغيل (Ops:PersistHistory = false يعطّل ذلك).

بث مباشر للأحداث لأدوات المراقبة

المصادقة كما في واجهة API الإدارية (مفتاح API لمسؤول عبر X-Api-Key أو Bearer أو Basic). ولا يرى مسؤولو المستأجرين إلا مستأجرهم. عوامل التصفية: types وdirection وstatus وq؛ ويحدّ maxRate الأحداث في الثانية (الافتراضي 20، والحد الأقصى 200)؛ ويُبلَّغ عن الفائض في حدث dropped.

المرجع / الإعداد
curl -N -H "X-Api-Key: $NEXTXCH_KEY" \
  "https://mail.company.com/api/admin/telemetry/stream?types=delivery,rejection,auth-failure&maxRate=50"

event: delivery
data: {"at":"2026-11-02T08:15:01Z","direction":"Outbound","status":"Delivered","from":"billing@company.com","to":"customer@example.com","code":250,...}

event: auth-failure
data: {"account":"info@company.com","protocol":"IMAP","remoteIp":"203.0.113.7","reason":"invalid password"}

# Types: delivery, rejection, auth-failure, filter, alert, queue

الإعدادات والقيم الافتراضية وأفضل الممارسات

الإعداد / الموقع الوصف القيمة الافتراضية أفضل ممارسة للإنتاج
Alarmregel المقياس والشرط (>، >=، <، <=) والعتبة والمدة بالدقائق. ولا يُطلق التنبيه إلا عندما يستمر الشرط طوال هذه المدة دون انقطاع. 5 min تجاهلوا الارتفاعات القصيرة: 5 دقائق على الأقل للمعدلات (في الدقيقة)، و0 دقيقة لانتهاء صلاحية الشهادات.
Abklingzeit, Wiederholung, Entwarnung فترة التهدئة هي الحد الأدنى للوقت بين رسالتين من القاعدة نفسها؛ ويُذكّر التكرار طالما ظل التنبيه نشطًا؛ ويُبلغ الاسترداد عن انتهائه. 60 min / aus / an أبقوا فترة التهدئة 30 دقيقة أو أكثر حتى لا تتكرر التنبيهات بسبب قيمة متذبذبة.
Ziele البريد الإلكتروني (المرسل هو المسؤول الذي حفظ الإعدادات)، وwebhook (JSON بالنوع nextxch.alert، موقّع بـ X-Nextxch-Signature: sha256=...)، وSMS وTelegram وSignal وWhatsApp عبر القنوات ضمن الإشعارات. - أضيفوا هدفًا واحدًا على الأقل خارج خادم البريد الخاص بكم (SMS أو تطبيق مراسلة أو webhook): فإذا تعطّل التسليم، فلن تصل رسالة التنبيه البريدية.
Messwerte in Prometheus und OpenTelemetry كل قيمة في لوحة المعلومات متاحة على /metrics: nextxch_mail_inbound_total، nextxch_mail_outbound_total، nextxch_mail_deferred_total، nextxch_mail_bounced_total، nextxch_mail_rejected_total، nextxch_mail_spam_total، nextxch_auth_failures_total، nextxch_mail_spam_rate_percent، nextxch_queue_messages، nextxch_queue_deferred_messages، nextxch_queue_oldest_age_minutes، nextxch_connections_active{protocol}، nextxch_process_cpu_percent، nextxch_process_working_set_bytes، nextxch_disk_free_percent، nextxch_disk_free_bytes، nextxch_database_size_bytes، nextxch_tls_certificate_min_expiry_days، nextxch_tls_certificate_expiry_days{domain}، nextxch_cluster_nodes_active، nextxch_alerts_firing، nextxch_smtp_filter_verdicts_total{type,verdict}، nextxch_smtp_filter_failures_total. aktiv عبر OTLP تحمل الأدوات الأسماء نفسها مع نقاط بدلًا من الشرطات السفلية (nextxch.mail.inbound)؛ ويُنتج التحويل إلى Prometheus الأسماء نفسها مرة أخرى.