Projekt statystyki w Bacula Enterpriseradekk, 2018-08-02

Projekt wbudowanych statystyk w Bacula Enterprise Edition wszedł w stadium pierwszego działającego rozwiązania, więc czas na krótki wpis co to jest. Stworzona funkcjonalność umożliwia zbieranie danych statystycznych w działającym systemie i automatyczne zapisywanie ich do zewnętrznych systemów monitorowania. Dzięki temu możliwe jest dokładne monitorowanie zachowania systemu backupowego.
Rozwiązanie składa się w kilku kluczowych komponentów wbudowanych bezpośrednio w oprogramowanie Bacula, co zapewnia dużą elastyczność konfiguracji i zapewnia minimalny wpływ na wydajność środowiska.
Podstawowym komponentem jest wewnętrzny kolektor statystyk, który globalnie (w ramach każdego z serwisów) zbiera metryki publikowane przez różne elementy aplikacji. Kolektor ten dostępny jest bez potrzeby dodatkowej instalacji czy konfiguracji. Dane przez niego zbierane dostępne sa dla użytkownika za pomocą komendy "collector", np.
*collect bacula.jobs.all
bacula.jobs.all=276Kolejnym komponentem są kolektory zapisujące zebrane dane statystyczne - metryki, do systemów zewnętrznych, tzw. collector_backends. Ich zadaniem jest cykliczne odpytywanie wewnętrznego kolektora i zapisywanie metryk na zewnątrz, np. w systemie Graphite. Komponent ten musi zostać skonfigurowany przez administratora.
Ostatnim komponentem jest kolektor aktualizacyjny, tzw. update_collector, który aktualizuje w tle wybrane metryki minimalizując narzut wydajnościowy, np. metryki dotyczące alokacji pamięci.
Za pomocą specjalnej komendy ".status" można wyświetlić aktualny status kolektorów zapisujących (collector backends) oraz kolektora aktualizacyjnego (update collector), np.
*.status dir collector
Collector backend: CSV collector is running
type=1 lasttimestamp=24-Jul-18 10:51
interval=300 secs
spooling=disabled
Collector backend: Graphite is running
type=2 lasttimestamp=24-Jul-18 10:51
interval=60 secs
spooling=enabled
Update Collector: running interval=60 secs lastupdate=24-Jul-18 10:51Kolektory zapisujące dane do zewnętrznych systemów odporne są np. na problemy komunikacyjne uniemożliwiające poprawne wysłanie statystyk. W takim przypadku metryki zapisywane są lokalnie w pliku typu spool do czasu aż komunikacja zostanie ponownie przywrócona. Dzięki temu zachowana jest ciągłość danych statystycznych.