المشكلة
معظم أدوات المراقبة تفحص خدماتك من مكان واحد. وإذا تعذّر على ذلك المكان الوصول إليك، أو إذا كان ما تريد مراقبته داخل شبكة خاصة، فأنت في عماية. أردتُ مراقبة تعمل في أي مكان وتظلّ ترفع تقاريرها إلى لوحة واحدة.
ما الذي بنيته
يقسم BoringStatus المراقبة إلى جزأين: عملاء خفيفون ومراقب مركزي.
- عملاء مستقلون. يعمل عميل صغير حيثما تحتاج عيناً، على VPS، داخل شبكة خاصة، أو على حاسوب، ويفحص ما توجّهه إليه: نقاط HTTP، خدمات النظام، صحة البنية التحتية.
- مراقب مركزي. يرفع العملاء تقاريرهم باستمرار؛ والمراقب يخزّن، ينبّه، ويعرض. وإذا فُقد عميل واصل البقية عملهم.
- سلاسل زمنية في الصميم. كل فحص نقطة بيانات، فعلى طبقة التخزين أن تتحمّل حجم كتابة عالياً واستعلامات نطاق سريعة.
أبرز الجوانب التقنية
خيار التخزين هو ما صنع المنتج. منحني TimescaleDB فوق PostgreSQL أداء السلاسل الزمنية، تجميعات مستمرة، سياسات احتفاظ، استعلامات نوافذ سريعة، دون التخلّي عن SQL أو منظومة Postgres. ويتحدّث العملاء إلى المراقب ببروتوكول مُدمج يُبقي تشغيل النظام رخيصاً عند التوسّع.
النتيجة
منظومة مراقبة تتابع الخدمات من داخل الشبكات التي تعيش فيها، وتحوّل سيلاً من الفحوص إلى إجابات في أجزاء من الثانية.
