wprowadzenie przechowywanie danych liczbowych (wielu naraz), zbieranych w regularnych odstępach cykliczna - trzymamy tylko X najstarszych próbek (patrz obrazek) tworzenie bazy (1 z dwóch ważnych elementów) ile danych chcemy trzymać? dwa podejścia: albo wiemy dokładnie ile czego chcemy trzymać (np. wiemy że musimy mieć dane za ostatnie 7 dni z dokładnością co 60 sekund, i tyle) albo wiemy jak chcemy oglądać (np. wykres dzienny, tygodniowy i miesięczny, w jakiej rozdzielczości) Przykład: chcemy mieć wykres szerokości 800 pixeli. Po 2 pixele na próbkę, to jest 400 próbek. Chcemy trzymać z grubsza 24h na wykresie. Liczymy: 24h/400 = 216 sekund. Albo będziemy odpalać co dokładnie tyle, albo godzimy się na małą zmianę zakresu wykresu lub czasu. Załóżmy że możemy trochę wydłużyć okres: zaokrąglamy do 240 sekund = 4 minuty (można z crona). 4 * 400 = 1600 minut = 26 i 2/3h. Podobnie licząc chcemy mieć tydzień na wykresie: 7 * 24h / 400 próbek = 1512s/próbkę. Podzielmy to przez długość poprzedniej próbki (4 minuty) = 6.3. Zaokrąglimy w górę do 7. Czyli 7 próbek poprzednich złoży nam się na jedną próbkę obecną. 7 * 240 * 400 / (24 * 60 * 60) = 7.(7) dnia. Prawie 8 dni. Jeśli chcielibyśmy odpalać z crona co minutę, to możemy zrobić próbkę = 26 minut, co daje (26 * 60 * 400) / (24 * 60 * 60) = 7.2 dnia rrdcreate step - 240 sekund DS::::: typ = GAUGE (stała wartość, np. temperatura) COUNTER (liczymy różnicę, przy ujemnej licznik się przekręca) DERIVE (liczy różnicę liczników, może być ujemna) ABSOLUTE (traktuje wartość jako gotową różnicę) RRA:::: typ = AVERAGE MIN MAX LAST xff - między 0 a 1 rrdgraph DEF:=:: CDEF:= operatory trygonometryczne itp porównania IF MIN, MAX LIMIT UN - czy unknown? UNKN - wartość ,,unknown'' PREV[(vnazwa)] - wartość poprzednio wyliczona INF, NEGINF - nieskończoności NOW TIME PRINT/GPRINT COMMENT LINE* AREA STACK