پس از پنج ماه توسعه، IncidentRelay 1.1 منتشر شد. این سیستم، یک سیستم متنباز برای مدیریت در حال انجام وظیفه، مسیریابی هشدار و پاسخ به حادثه است که بر روی یک سرور خود-میزبان اجرا میشود. IncidentRelay 1.1 به عنوان اولین نسخه پایدار مشخص شده است (شاخه 1.0 در مرحله بتا بود). این پروژه برای SREها، DevOps و تیمهای زیرساختی که به دنبال جایگزینی محلی برای خدمات SaaS برای مدیریت در حال انجام وظیفه، سیاستهای تشدید و پاسخ به حادثه هستند، در نظر گرفته شده است. کد پروژه به زبان پایتون نوشته شده و تحت مجوز MIT توزیع شده است.
IncidentRelay رویدادها را از سیستمهای نظارتی دریافت میکند، آنها را با سرویس، تیم و چرخش تطبیق میدهد و سپس اعلانها را به افسران یا تیمهای مسئول تحویل میدهد. این سیستم برنامههای زمانی وظیفه، چرخشها، لغو شیفت، تأیید حادثه، وضعیت ACK/Resolve، یادآوریها، تشدیدها، جایگزینی موقت افسران وظیفه، زمانهای تعمیر و نگهداری برنامهریزی شده و سرکوب هشدار را پیادهسازی میکند.
مزیت اصلی این پروژه، کنترل کامل بر زیرساخت و منطق مسیریابی است. IncidentRelay در محیط خاص خود مستقر شده، با پایگاه داده خود کار میکند و امکان جداسازی صریح مسیرهای ورودی، دستورات، چرخشها و کانالهای تحویل را فراهم میکند. توکنهای ورودی متعلق به مسیرها هستند، نه کانالها، که درک اینکه کدام منبع خارجی مجوز ارسال رویدادها به یک دستور خاص را دارد، آسانتر میکند.
IncidentRelay از دریافت رویدادها از Prometheus Alertmanager، Grafana Alerting، Zabbix، Sentry، LibreNMS، RMON، AWS SNS/CloudWatch و وبهوکهای سفارشی پشتیبانی میکند. اعلانها را میتوان از طریق Mattermost، Slack، Telegram، Discord، Microsoft Teams، ایمیل، وبهوکها، browser/PWA push و ارائهدهندگان تماس صوتی ارسال کرد. در Mattermost و Telegram، اعلانها میتوانند شامل اقداماتی برای تأیید و حل مشکل باشند و امکان مدیریت حوادث را بدون نیاز به تغییر به یک رابط جداگانه فراهم کنند.
این پروژه میتواند از طریق Docker Compose، یک بسته RPM برای توزیعهای Red Hat-like، به صورت دستی از طریق systemd یا در Kubernetes با استفاده از نمودار Helm اجرا شود. SQLite را میتوان برای نصبهای کوچک استفاده کرد، در حالی که PostgreSQL برای محیطهای عملیاتی و بارهای بالاتر توصیه میشود.
نسخه جدید تغییرات زیر را پیشنهاد میدهد:
- چرخشهای چند سطحی در حالت آمادهباش با محدودیتهای زمانی، اولویتهای لایهها و در نظر گرفتن جایگزینیهای موقت اضافه شد.
- تقویم وظیفه، اشتراکهای CalDAV و ICS برای تقویمهای خارجی ظاهر شدهاند؛
- سیاستهای تشدید حادثه را با زنجیرههای تشدید چند مرحلهای پیادهسازی کرد؛
- گروههای هشدار، گروهبندی رویدادها، اعلانهای با تأخیر و ادغام دستی هشدارهای مرتبط اضافه شد.
- پنجرههایی برای کارهای برنامهریزیشده و هشدارهای «بیصدا» ظاهر شدهاند؛
- قابلیت افزودن نظر به هشدارها اضافه شد؛
- اولویتهای حادثه (P1-P5) و افزایش خودکار اولویت بر اساس سطح اهمیت اضافه شد.
- پیادهسازی کاتالوگ خدمات، وابستگیهای خدمات، SLI/SLO، تاریخچه تأثیر خدمات و خدمات تجاری؛
- توضیح دهید که Trace برای تجزیه و تحلیل مسیریابی اضافه شده است: چرا یک هشدار در یک دستور گنجانده شده یا نشده است، گروهبندی شده، سرکوب شده یا به یک کانال خاص ارسال شده است.
- بررسیها (Heartbeats/dead-man-switch) برای وظایف watchdog، backup، ETL و سایر وظایفی که مشکل آنها عدم وجود سیگنال مورد انتظار است، اضافه شد.


منبع: opennet.ru
