Firma Grafana Labs, rozwijająca platformę wizualizacji danych Grafana oraz system monitorowania Prometheus, ogłosiła otwarcie kodu źródłowego systemu reagowania na incydenty OnCall, który ma na celu zapewnienie współpracy zespołów w zakresie rozwiązywania i analizy incydentów. OnCall wcześniej był dostarczany w formie produktu własnościowego i został nabyty przez Grafana w procesie przejęcia firmy Amixr Inc. w zeszłym roku. Kod projektu napisany jest w języku Python i jest udostępniony na licencji AGPLv3.
System umożliwia gromadzenie informacji o anomaliach i wydarzeniach z różnych systemów monitorowania, a następnie automatyczne grupowanie danych, kierowanie powiadomień do odpowiednich zespołów oraz śledzenie stanu rozwiązania problemów. Obsługuje integrację z systemami monitorowania Grafana, Prometheus, AlertManager i Zabbix. Z informacji uzyskanych od systemów monitorujących odfiltrowywane są drugorzędne i mało znaczące zdarzenia, agregowane są duplikaty i wyłączane problemy, które mogą być rozwiązane bez udziału ludzi.
Oczyszczone z niepotrzebnego szumu informacyjnego istotne zdarzenia trafiają do podsystemu wysyłania powiadomień, który wskazuje pracowników odpowiedzialnych za rozwiązania wykrytych kategorii problemów oraz wysyła powiadomienia z uwzględnieniem ich harmonogramu pracy i poziomu zajętości (oceniane są dane z kalendarza). Obsługiwane jest rotowanie przypisania incydentów pomiędzy różnymi pracownikami oraz eskalacja szczególnie ważnych lub nierozwiązanych problemów do innych członków zespołu lub pracowników wyższych szczebli.

W zależności od stopnia ważności incydentu, powiadomienia mogą być wysyłane za pośrednictwem połączeń telefonicznych, SMS-ów, wiadomości e-mail, tworzenia wydarzeń w kalendarzu, a także w komunikatorach Slack i Telegram. W Slacku mogą być automatycznie tworzone kanały do dyskusji na temat rozwiązywania incydentów, do których automatycznie dołączają zarówno pojedynczy pracownicy, jak i całe zespoły.
System oferuje elastyczne możliwości rozszerzania i konfiguracji (na przykład, można dostosować grupowanie i routowanie zdarzeń, określić zasady i kanały dostarczania powiadomień według własnych preferencji). Dla integracji z systemami zewnętrznymi udostępniane jest API oraz wsparcie dla Terraform. Zarządzanie pracą odbywa się za pomocą interfejsu webowego.

Źródło: opennet.ru
