2013-04-02 11 views
8

Monitoruję ponad 300 serwerów, dla których używam Ganglia. Które użyć RRD jako bazy danych do zbierania i przechowywania danych związanych z zasobami każdego serwera. chciałbym mieć historię o 2 lata lub dłużej, więc czyta ten article, myślę, że moja konfiguracja RRA powinno być:Jak ustawić RRD do przechowywania przez 2 lata?

RRAs "RRA:AVERAGE:0.5:1:17520" 

17520 = (365 dni [rok] x 2) * 24 [godzina ]

jest to domyślna konfiguracja mózgu, który jest uruchomiony dzisiaj:

# 
# Round-Robin Archives 
# You can specify custom Round-Robin archives here (defaults are listed below) 
# 
# RRAs "RRA:AVERAGE:0.5:1:244" "RRA:AVERAGE:0.5:24:244" "RRA:AVERAGE:0.5:168:244" "RRA:AVERAGE:0.5:672:244" \ 
#  "RRA:AVERAGE:0.5:5760:374" 
# 

czy to prawda mój sposób myślenia albo ja czegoś tu brakuje?

Odpowiedz

20

Po przestudiowaniu tego tematu przez chwilę wymyśliłem odpowiedź, która może pomóc komuś w przyszłości. Często czytam te dwa artykuły, które polecam. Przeczytaj ten pierwszy Creating an initial RRD, a następnie przeczytaj ten po How to create an RRDTool database:

Spróbuję wyjaśnić to w bardzo prosty sposób. Format RRA:CF:xff:steps:rows:

RRA Round Robin Archive 
CF: consolidate factor 
XFF: xfile factor 
steps 
rows 

Największym problemem dla mnie było odkryć właściwą wartość steps i rows. Więc przeczytaniu doszedłem z tym wyjaśnieniem:

1 day - 5-minute resolution 
1 week - 15-minute resolution 
1 month - 1-hour resolution 
1 year - 6-hour resolution 

RRA:AVERAGE:0.5:1:288 \ 
RRA:AVERAGE:0.5:3:672 \ 
RRA:AVERAGE:0.5:12:744 \ 
RRA:AVERAGE:0.5:72:1480 

Put na uwadze nasze step jest 300 seconds, więc pomysł jest bardzo prosty, choć: Jeśli chcę Resolute one day który ma 86400 seconds, jak pokazano w pierwszym przykład, ile rzędów potrzebuję? Odpowiedź brzmi: 288 rows. Czemu ?

`86400 seconds [1 day]/300 seconds [5 minutes`] = 288 rows 

Inny przykład, jeśli chcę Resolute:
1 tydzień [ = 604800 seconds ] w 15 minut [ = 900 seconds ] = 604800/900 = 672 rows

I tak dalej, dla innych wartości, w ten sposób masz zamiar znaleźć ile potrzebujesz rows. Aby dowiedzieć się, ile potrzebnych jest steps, jest bardzo proste, wystarczy wziąć mnożnik swoich kroków.

Pozwól mi wyjaśnić, nasze steps300 seconds, prawda?

Więc jeśli chcemy rozwiązać 5 minut [ = 300 seconds ], musimy pomnożyć przez 1, prawda? Tak więc, 15 minut oznacza 300 sekund x 3, 1 godzina oznacza 300 x 12, 6 godzin oznacza 300 x 72 i tak dalej.

W moim przypadku szczególne, chciałbym mój steps być 30 seconds, więc wpadłem na pomysł z tymi strukturze:

1 every time   30 seconds  1 * 30s = 30s 
2 every second time  1 minute  2 * 30s = 1m 
4 every third time  2 minutes  4 * 30s = 2m 
10 every 10th time  5 minutes  10 * 30s = 5m 
20 every 20th time  10 minutes  20 * 30s = 10m 
60 every 60th time  30 minutes  60 * 30s = 30m 
80 every 80th time  40 minutes  80 * 30s = 40m 
100 every 100th time  50 minutes 100 * 30s = 50m 
120 every 120th time  1 hour  120 * 30s = 1h 
240 every 240th time  2 hours  240 * 30s = 2h 
360 every 360th time  3 hours  360 * 30s = 3h 

RRA:AVERAGE:0.5:1:120 \ 
RRA:AVERAGE:0.5:2:120 \ 
RRA:AVERAGE:0.5:4:120 \ 
RRA:AVERAGE:0.5:10:288 \ 
RRA:AVERAGE:0.5:20:1008 \ 
RRA:AVERAGE:0.5:60:1440 \ 
RRA:AVERAGE:0.5:80:3240 \ 
RRA:AVERAGE:0.5:100:5184 \ 
RRA:AVERAGE:0.5:120:8760 \ 
RRA:AVERAGE:0.5:240:8760 \ 
RRA:AVERAGE:0.5:360:8760 \ 

co oznacza:

1 hour - 30 seconds resolution 
2 hours - 1 minute resolution 
4 hours - 2 minutes resolution 
1 day  - 5 minutes resolution 
1 week - 10 minutes resolution 
1 month - 30 minutes resolution 
3 months - 40 minutes resolution 
6 months - 50 minutes resolution 
1 year - 1 hour  resolution 
2 year - 2 hour  resolution 
3 year - 3 hour  resolution 

Cóż, mam nadzieję, że to pomoże komuś , to wszystko.

+0

Dzięki za to; te informacje pomogły mi zacząć zbierać dane o dekadzie. Udokumentowałem cały proces dla Centos 7, dla którego musisz zbudować nowszy rrdtool: https://onnonymous.wordpress.com/2017/06/22/keeping-ganglia-graphs-longer-than-one-year/ – Onnonymous

Powiązane problemy