Czy Munin można skonfigurować do wyświetlania wykresów godzinowych?

9

Domyślnie Munin (używam 1.4.5) pokazuje wykresy dla dnia, tygodnia, miesiąca i roku.

Czy mogę go skonfigurować tak, aby dodatkowo wyświetlał wykres godzinowy?

Abraham Vegh
źródło

Odpowiedzi:

10

Zakładam, że rzeczywiście chcesz próbkować dane szybciej niż domyślne pięć minut, ponieważ wykres godzinowy nie pokazałby więcej szczegółów niż bieżący wykres dzienny w przeciwnym razie.

Odpowiedź jest prosta i trudna.

Łatwa droga

Wystarczy częściej uruchamiać aktualizację Munin i nie aktualizować do wersji Munin 1.5.

W wielu systemach Linux oznacza to po prostu edycję /etc/cron.d/munini zmianę pierwszego */5na */1(co jest tak samo jak tylko, *ale sprawia, że ​​jest bardziej oczywiste, że robisz to celowo).

To rodzaj włamania. Munin nadal będzie tworzył wykresy przy założeniu, że pobiera dane co pięć minut zamiast co minutę, więc jego obliczenia szybkości mogą być wyłączone, a niektóre etykiety będą błędne, ale będziesz otrzymywać dane co minutę. Ponadto prawdopodobnie nie zadziała to w najnowszych wersjach Munin (przynajmniej w poprzedniej wersji 2.0 i prawdopodobnie w poprzedniej wersji 1.5), ponieważ mają one domyślną wartość 300 dla update_rateatrybutu, co omówiono bardziej szczegółowo poniżej.

Trudna droga

Najpierw musisz uaktualnić do Munin 2.0. Nie wszystko poniżej jest obsługiwane we wcześniejszych wersjach.

Następnie musisz ustawić update_rateatrybut na dowolnych wykresach, które chcesz aktualizować częściej niż co pięć minut. Ten atrybut to liczba sekund, które powinny upłynąć między aktualizacjami, i domyślnie wynosi 300 sekund.

Następnie musisz zdefiniować niestandardowe okresy wykresu za pomocą graph_data_sizeatrybutu, który jest udokumentowany według niestandardowego rozmiaru rrd dla każdej wtyczki , ale ta strona jest trochę myląca, więc pozwól mi zobaczyć, czy mogę trochę wyjaśnić.

graph_data_sizeAtrybut ma trzy ustawienia:

  • graph_data_size normal - jest to ustawienie domyślne, które generuje wykresy dzienne, tygodniowe, miesięczne i roczne.
  • graph_data_size huge - przechowuje dane w odstępach pięciominutowych (normalna stawka dzienna) przez cały rok.
  • graph_data_size custom <custom-definition> - pozwala to określić własne interwały danych i czasy przechowywania.

Powyższa niestandardowa definicja ma formę full_rra_nb, multiple_1 multiple_rra_nb_1, multiple_2 multiple_rra_nb_2, ... multiple_N multiple_rra_nb_No następujących znaczeniach:

  • full_rra_nb to liczba punktów danych, które należy zachować dla pierwszego wykresu. Każdy z tych punktów reprezentuje pojedynczy pomiar (mniej więcej; Munin próbuje uwzględnić opóźnienia w uzyskaniu pomiarów przy niewielkiej ilości fałszowania danych).
  • wielokrotność_N to liczba zmierzonych punktów danych, które są uśredniane w celu uzyskania pojedynczego punktu danych dla N-tego wykresu.
  • multiple_rra_nb_N to liczba punktów danych, które należy zachować dla N-tego wykresu.

Na to wszystko ma wpływ update_rateustawienie atrybutu, ponieważ kontroluje on czas każdego pojedynczego pomiaru.

Tak więc, na konkretny przykład, domyślne ustawienia są następujące:

  • Punkty danych są uzyskiwane z częstotliwością jednego pomiaru co pięć minut.
  • Wykres dzienny ma jeden punkt na każdy zmierzony punkt danych i zachowuje 576 tych punktów (lub wartość 48 godzin).
  • Tygodniowy wykres ma jeden punkt na każde sześć pomiarów (każdy punkt reprezentuje 30 minut) i zachowuje 432 z nich (lub wartość 9 dni).
  • Miesięczny wykres ma jeden punkt na każde 24 pomiary (każdy punkt reprezentuje dwie godziny) i zachowuje 540 z nich (lub wartość 45 dni).
  • Roczny wykres ma jeden punkt na każde 288 pomiarów (każdy punkt reprezentuje jeden dzień) i zachowuje 450 z nich (wartość 450 dni).

Zatem te dwa ustawienia są równoważne:

graph_data_size normal

i

update_rate 300
graph_data_size custom 576, 6 432, 24 540, 288 450

W przypadku jednominutowego próbkowania musisz zdecydować, jakiego rodzaju interwałami jesteś zainteresowany. Aby po prostu dodać wykres godzinny, który rejestruje dane przez osiem godzin, możesz użyć następujących czynności:

update_rate 60
graph_data_size custom 480, 5 576, 30 432, 120 540, 1440 450

Zauważ, że w domyślnej konfiguracji Munina każdy przedział jest całkowitą wielokrotnością poprzedniego przedziału (30 = 5 * 6, 120 = 30 * 4 i 1440 = 120 * 12). Nie wiem, jak ważna jest ta reguła, ale na wszelki wypadek zalecam zachowanie jej w konfiguracji.

Należy również pamiętać, że ustawienie update_ratei graph_data_sizeodbywa się na podstawie na wykresie. Nie znam żadnego sposobu określania wartości domyślnych przecinających wiele wykresów, więc jeśli chcesz to zrobić dla wszystkich swoich wykresów, będziesz musiał dużo pisać.

Należy również upewnić się, że wszystkie te ustawienia są na swoim miejscu przed pierwszym munin-updateuruchomieniem; wpływają na sposób tworzenia plików RRD i nie wiem, jak zareaguje munin, jeśli pliki zostaną utworzone przy użyciu różnych ustawień przed uruchomieniem aktualizacji. W najgorszym przypadku możesz po prostu usunąć pliki RRD i pozwolić Muninowi je odtworzyć.

Wreszcie, gdy wszystkie ustawienia zostaną wprowadzone, możesz zmienić częstotliwość aktualizacji crona w taki sam sposób, jak powyżej w „Łatwy sposób”.

asciiphil
źródło