Miesięcznik informatyków i menedżerów IT sektora publicznego

Artur Pęczak

Jak informować użytkowników o awariach systemów

Budowanie zaufania do organizacji wymaga przejrzystości w kontaktach z pracownikami, petentami oraz użytkownikami. Pomoże ją zapewnić narzędzie Cachet do prowadzenia strony statusu z bieżącymi informacjami o awariach i niedostępności usług.

Konfigurację Cacheta przeprowadzimy z poziomu graficznego kreatora uruchamianego przy pierwszym otwarciu witryny programu. To tutaj wprowadzamy nazwę witryny i nazwę domeny serwera oraz wskazujemy strefę czasową i język interfejsu.

Awaria systemu prowadzi do lawinowego wzrostu zgłoszeń do działu pomocy. Użytkownicy dzwonią, aby zapytać o powody niedostępności usług, a pracownicy działu IT, zamiast skupić się na przywracaniu aplikacji do działania, borykają się z koniecznością udzielania im odpowiedzi. Lista potencjalnych incydentów jest długa i obejmuje awarie sprzętu, planowane prace utrzymaniowe, problemy z siecią czy ataki na infrastrukturę, np. DDoS. Nic nie stoi na przeszkodzie, aby informować użytkowników o niedostępności usług w zunifikowanej i ogólnodostępnej formie strony statusu. Użytkownicy mogą samodzielnie odszukać informacje o problemach z dostępem do danych i aplikacji, bez potrzeby kontaktowania się z centrum wsparcia. W długofalowym wymiarze podejście to pomaga budować zaufanie do organizacji.

Aplikacja Cachet

Oprogramowanie Cachet umożliwia uruchomienie strony statusu z informacjami o bieżącej dostępności systemów i usług oraz planowanych przestojach. Witryna Cachet dostarcza wszystkim zainteresowanym informacje o zaistniałych incydentach oraz sposobach ich rozwiązania. Mamy tutaj do czynienia z oprogramowaniem webowym, rozpowszechnianym na zasadach licencji open source, do instalacji na własnym serwerze. W tym ujęciu Cachet stanowi alternatywę dla konkurencyjnych rozwiązań dostarczanych w formie usługi, np. StatusPage.io lub Status.io. Warto jednak jasno podkreślić, że Cachet stanowi wyłącznie interfejs do wyświetlania informacji na temat stanu systemów i usług, ale sam w sobie nie ma żadnych mechanizmów monitorowania ich dostępności. Informacje do witryny Cachet mogą być wprowadzane ręcznie (ad hoc) z poziomu wygodnego panelu administratora albo zasilane automatycznie (przez API) danymi pochodzącymi z zewnętrznych źródeł i aplikacji monitorowania.

Najbardziej rozpoznawalnym elementem Cacheta jest dopracowany w szczegółach, nowoczesny interfejs strony statusu. W swojej kategorii jest to dość popularne oprogramowanie w swojej kategorii, więc wielu czytelników zapewne miało już okazję widzieć witrynę działającą w oparciu o to narzędzie. Wersja demonstracyjna systemu została udostępniona pod adresem demo.cachethq.io. Interfejs aplikacji doskonale prezentuje się na komputerach i urządzeniach mobilnych. Wszystko to dzięki zastosowaniu wysoce responsywnego frameworka Bootstrap 3. Interfejs Cacheta został przetłumaczony na wiele języków, ale polska lokalizacja jest absolutnie niekompletna i nie nadaje się do wykorzystania w środowisku produkcyjnym.

Funkcje programu

Uporządkowany i elegancki interfejs jest najbardziej widocznym elementem programu, choć to tylko jedna z jego wielu mocnych stron. Cachet dostarcza użytkownikom dwa typy informacji: status dostępności usługi (moduł Components) oraz dane dotyczące awarii i incydentów (Incidents). Usługi przyjmują jeden z czterech stanów dostępności: działa w pełni (Operational), zauważono pewne problemy z wydajnością (Performance Issues), usługa może być częściowo niedostępna dla niektórych użytkowników (Partial Outage) oraz usługa nie działa wcale (Major Outage). Z kolei awariom i innego typu incydentom administrator może nadać jeden z pięciu następujących statusów: zaplanowana (Scheduled), w trakcie analizy (Investigating), awaria została rozpoznana i pracujemy nad rozwiązaniem problemu (Identified), wdrożyliśmy rozwiązanie i patrzymy, jak rozwija się sytuacja (Watching) albo problem został w pełni usunięty, a zgłoszenie incydentu zostało zamknięte (Fixed).

Webowy panel zarządzania pozwala administratorom ręcznie wprowadzać informacje o awariach oraz zmieniać status dostępności usług. Dzięki Cachetowi możemy zdefiniować szablony zdarzeń w języku Twig, choć brakuje dokumentacji i przykładów, jak to robić w praktyce. Panel zarządzania umożliwia ponadto zarządzanie członkami zespołu (dodawanie, modyfikacja oraz edycja informacji o awariach) oraz listą subskrybentów. System może być również zasilany danymi pochodzącymi z zewnętrznych źródeł i narzędzi przez API JSON zabezpieczonym tokenem lub mechanizmem BasicAuth. Ciekawą funkcją jest możliwość wdrożenia dwuskładnikowego uwierzytelniania do panelu administratora Cachet z wykorzystaniem mechanizmu Google Authenticator.

Wyliczanie metryk

Cachet może dostarczać użytkownikom informacji o planowanych pracach utrzymaniowych i celowych przestojach. Mechanizm harmonogramu pozwala zaplanować takie wydarzenia z wyprzedzeniem. Informacja o przestoju pojawi się w witrynie statusu, a zarejestrowani użytkownicy otrzymają stosowny komunikat na skrzynkę e-mail. Mechanizm subskrypcji pozwala stworzyć listę osób, które otrzymają powiadomienie przez e-mail w przypadku nowego zdarzenia albo zmiany statusu dostępności usługi.

Na podstawie zebranych danych Cachet potrafi wyliczać pewne metryki. Mogą nimi być dostępność usługi w zadanym czasie (uptime), liczba zarejestrowanych błędów albo jakakolwiek inna dana statystyczna dostarczona do systemu, np. o liczbie wypitych kaw przez pracowników wsparcia technicznego. Cachet potrafi takie dane zebrać oraz zwizualizować na wykresie.

Zakres informacji w witrynie statusu zależy ściśle od zamysłu administratora. Cachet dostarczy informacje na temat dostępności witryny (adresu URL), dokumentacji, API czy serwerów w konkretnych lokalizacjach na świecie. Oprogramowanie może być wdrażane na wewnętrzne potrzeby organizacji albo dostarczania informacji dotyczących statusu działania ogólnodostępnych usług, aplikacji czy witryn internetowych.

Integracja z zewnętrznymi aplikacjami

Cachet może być zasilany danymi pochodzącymi z zewnątrz poprzez JSON API. Programiści mogą pisać własne połączenia do witryny statusu, korzystając z gotowych bibliotek Cacheta dla większości popularnych języków programowania. Administratorzy mają zaś do dyspozycji wiele gotowych integracji do wtyczek i narzędzi monitorujących dostępność usług. Listę kilkunastu integracji znajdziemy w witrynie itwa.pl/ex.

Cachet Monitor (dwie wtyczki o tej samej nazwie) oraz Cachet URL Monitor pozwalają na monitorowanie stron webowych w protokole HTTP. Lista dostępnych integracji obejmuje również rozszerzenia do pobierania powiadomień z popularnych narzędzi monitorowania Nagios i Zabbix. Cachet może być też zasilany danymi z webowych usług monitorowania, takich jak Pingometer.com, CheckItOn.us czy Uptime.com.

[...]

Autor zawodowo zajmuje się informatyką. Publikuje w magazynach komputerowych i serwisach internetowych.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma. Zapraszamy do składania zamówień na prenumeratę i numery archiwalne.
 
 

Polecamy

Biblioteka Informacja Publiczna

Specjalistyczne publikacje książkowe dla pracowników administracji publicznej

więcej