Używamy grafitu do śledzenia historii wykorzystania dysku w czasie. Nasz system alarmowy analizuje dane z grafitu, aby ostrzec nas, gdy ilość wolnego miejsca spadnie poniżej określonej liczby bloków.
Chciałbym się inteligentniejsze alarmy - co ja naprawdę dbają o to, „jak długo mam przed muszę zrobić coś o wolnej przestrzeni”, na przykład jeśli pokazuje trend, który w ciągu 7 dni będę zabrakło dysku spacja następnie podnieś Ostrzeżenie, jeśli jest on krótszy niż 2 dni, podnieś Błąd.
Standardowy interfejs grafitu na desce rozdzielczej może być całkiem sprytny dzięki pochodnym i pasmom pewności Holta Wintersa, ale jak dotąd nie znalazłem sposobu na przekonwertowanie tego na przydatne parametry. Nie przeszkadza mi także dzielenie liczb na inne sposoby (po prostu wyodrębnij surowe liczby z grafitu i uruchom skrypt, aby to zrobić).
Jedną z komplikacji jest to, że wykres nie jest płynny - pliki są dodawane i usuwane, ale ogólny trend w czasie zwiększa wykorzystanie miejsca na dysku, więc być może trzeba przyjrzeć się lokalnym minimum (jeśli spojrzymy na metrykę „bez dysku”) ) i narysuj trend między rynnami.
Czy ktoś to zrobił?
źródło
The volume of crap people have to store will expand to fill the disk available.
- Old Sysadmin AxiomOdpowiedzi:
Szczerze mówiąc „Days Until Full” to naprawdę kiepska metryka - systemy plików stają się NAPRAWDĘ GŁUPIE, gdy zbliżają się do 100% wykorzystania.
Naprawdę polecam stosowanie tradycyjnych progów 85%, 90%, 95% (odpowiednio ostrzeżenie, alarm i krytyczna konieczność naprawienia tego TERAZ) - powinno to dać dużo czasu na ostrzeżenie na nowoczesnych dyskach (powiedzmy, że dysk o pojemności 1 TB: 85% terabajta wciąż pozostawia ci dużo miejsca, ale zdajesz sobie sprawę z potencjalnego problemu, o 90% powinieneś planować rozszerzenie dysku lub jakieś inne ograniczenie, a przy 95% terabajta zostało ci jeszcze 50 GB i powinieneś je naprawić.
Zapewnia to również, że twój system plików działa mniej więcej optymalnie: ma dużo wolnego miejsca na tworzenie / modyfikowanie / przenoszenie dużych plików.
Jeśli dyski nie są nowoczesne (lub wzorzec użytkowania wymaga wyrzucania na dysk większej ilości danych), możesz łatwo dostosować progi.
Jeśli nadal używasz metryki „dni do pełnego”, możesz wyodrębnić dane z grafitu i wykonać matematykę. Narzędzia monitorujące IBM wdrażają wskaźniki do pełnego wykorzystania na kilka dni, które mogą dać ci wyobrażenie o tym, jak je wdrożyć, ale w zasadzie bierzesz tempo zmian między dwoma punktami w historii.
Ze względu na twoje zdrowie psychiczne możesz użyć pochodnej z Grafitu (która da ci szybkość zmian w czasie) i projektować ją, ale jeśli NAPRAWDĘ chcesz otrzymywać „inteligentniejsze” alerty, sugeruję stosowanie dziennej i tygodniowej stopy zmian (obliczonej na podstawie szczytowego zużycia w ciągu dnia / tygodnia).
Konkretna używana projekcja (najmniejsza szybkość zmian, największa szybkość zmian, średnia szybkość zmian, średnia ważona itp.) Zależy od środowiska. Narzędzia IBM oferują tak wiele różnych widoków, ponieważ naprawdę trudno jest stworzyć jeden uniwersalny wzór.
Ostatecznie żaden algorytm nie będzie bardzo dobry w wykonywaniu tego rodzaju obliczeń, jakie chcesz. Wykorzystanie dysku zależy od użytkowników, a użytkownicy są antytezą modelu Rational Actor: wszystkie twoje prognozy mogą wyjść poza okno z jedną szaloną osobą, która decyduje, że dzisiaj będzie dzień, w którym wykonają pełny zrzut pamięci systemowej do swojego katalog domowy. Właśnie dlatego.
źródło
Niedawno wdrożyliśmy niestandardowe rozwiązanie tego problemu przy użyciu regresji liniowej.
W naszym systemie głównym źródłem wyczerpania dysku są zbłąkane pliki dziennika, które nie są obracane.
Ponieważ rosną one bardzo przewidywalnie, możemy wykonać regresję liniową wykorzystania dysku (np.
z = numpy.polyfit(times, utilization, 1)
), A następnie obliczyć 100% oceny na podstawie modelu liniowego (np.(100 - z[1]) / z[0]
)Wdrożonej wygląd wdrożeniowe, jak to przy użyciu Ruby i GSL, chociaż prace NumPy całkiem dobrze.
W tym tygodniu dane o średnim zużyciu w tym tygodniu w odstępach 90 minut (112 punktów) były w stanie wyselekcjonować potencjalnych kandydatów na wyczerpanie dysku bez nadmiernego hałasu.
Klasa w gist jest zawinięta w klasę, która pobiera dane od scouta, ostrzega o poluzowaniu i wysyła pewne dane telemetryczne środowiska wykonawczego do statsd. Zostawię to trochę, ponieważ jest specyficzne dla naszej infrastruktury.
źródło
(90 - z[1]) / z[0]
zamiast tego.