अध्याय 19 अनुपालन, स्टोरेज & संचालन एडमिन: #pAlerts

संचालन डैशबोर्ड, अलर्ट और लाइव टेलीमेट्री

संचालन डैशबोर्ड (#pOps) लाइव और 24-घंटे के इतिहास के रूप में दिखाता है: प्रति मिनट आने और जाने वाले मेल, स्थगित और बाउंस मेल, स्पैम दर, विफल साइन-इन, कतार का आकार और सबसे पुराने संदेश की आयु, प्रति प्रोटोकॉल सक्रिय कनेक्शन, CPU, मेमोरी, खाली डिस्क स्थान, डेटाबेस आकार, प्रमाणपत्र समाप्ति और क्लस्टर नोड। अलर्ट (#pAlerts) सीमा उल्लंघन की सूचना ईमेल, वेबहुक, SMS, Telegram, Signal या WhatsApp से देते हैं। बाहरी टूल यही डेटा /metrics (Prometheus), OpenTelemetry या लाइव ईवेंट स्ट्रीम (Server-Sent Events) के माध्यम से पढ़ते हैं।

संचालन सुझाव और आर्किटेक्चर नोट

पहली बार शुरू होने पर nextxch बिना लक्ष्यों के पाँच नियम बनाता है (कतार अटकी, डिस्क लगभग भरी, प्रमाणपत्र समाप्त होने वाला, कई विफल साइन-इन, कई बाउंस)। ये इतिहास में दिखाई देते हैं; सूचना पाने के लिए Targets के अंतर्गत एक ईमेल पता या वेबहुक जोड़ें और नियम में उसे चुनें। इतिहास रीस्टार्ट के बाद भी बना रहता है (Ops:PersistHistory = false इसे बंद करता है)।

मॉनिटरिंग टूल के लिए लाइव इवेंट स्ट्रीम

प्रमाणीकरण एडमिन API की तरह (X-Api-Key, Bearer या Basic के माध्यम से किसी एडमिन की API कुंजी)। टेनेंट एडमिन केवल अपना टेनेंट देखते हैं। फ़िल्टर: 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 कूलडाउन एक ही नियम के दो संदेशों के बीच का न्यूनतम समय है; repeat अलर्ट सक्रिय रहने तक याद दिलाता है; recovery अंत की सूचना देता है। 60 min / aus / an कूलडाउन को 30 मिनट या उससे अधिक रखें, ताकि उतार-चढ़ाव वाला मान बार-बार अलर्ट न भेजे।
Ziele ईमेल (प्रेषक वह एडमिन है जिसने सेटिंग्स सहेजीं), वेबहुक (type nextxch.alert वाला JSON, X-Nextxch-Signature: sha256=... से हस्ताक्षरित), SMS, Telegram, Signal, WhatsApp, सूचनाएँ के अंतर्गत दिए गए चैनलों के माध्यम से। - अपने मेल सर्वर के बाहर कम से कम एक लक्ष्य जोड़ें (SMS, मैसेंजर या वेबहुक): यदि डिलीवरी बंद है, तो अलर्ट मेल नहीं पहुँचेगा।
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 में रूपांतरण से फिर वही नाम मिलते हैं।