Monitorowanie użycia pamięci
Jestem bardziej zgodny z jednym z poprzednich postów, w którym wspominałem o kaktusach jako świetnym sposobie monitorowania zużycia pamięci. Ponieważ jednak wydaje się, że kaktusy nie są już popularne w głównym nurcie, istnieje alternatywna aplikacja graficzna o nazwie Grafit.
Grafit jest stosunkowo łatwy do zainstalowania na serwerze Ubuntu. Aby go zainstalować, możesz sprawdzić ten link , aby zapoznać się z łatwymi procedurami instalacji.
Po zainstalowaniu grafitu możesz teraz wysyłać do niego metryki pamięci w dowolnym odstępie czasu; co 5 sekund, co minutę, co godzinę ... itd.
Aby wykresować wskaźniki pamięci, jak już sugerowano w poprzednich postach, możesz napisać własny skrypt za pomocą narzędzi systemowych w celu zebrania niezbędnych informacji o pamięci. Możesz też użyć wstępnie napisanej wtyczki snmp, która wykona całą pracę za Ciebie.
Jeśli chcesz napisać własny skrypt pamięci, mądrze jest upewnić się, że bierzesz pod uwagę buforowaną i buforowaną pamięć podczas obliczania używanej pamięci, w przeciwnym razie będziesz zbierać fałszywe dane.
Jeśli zamiast tego chcesz użyć wtyczki snmp, która już wykonuje wszystkie niezbędne obliczenia, oto link do tego, który działa całkiem dobrze: checkMemoryviaSNMP .
Zalety SNMP:
Mam snmp zainstalowany na wszystkich monitorowanych zdalnych węzłach. To pozwala mi monitorować wszystkie moje systemy z jednego centralnego serwera (serwerów) , bez konieczności kopiowania lub umieszczania wtyczki na zdalnych węzłach.
Wady SNMP:
Musisz upewnić się, że agent snmp jest zainstalowany na każdym ze zdalnych węzłów, na których chcesz monitorować pamięć. Ta instalacja będzie jednak jednorazowa. Jeśli używasz w swoim środowisku narzędzi do automatyzacji, takich jak szef kuchni, lalek lub podobnych narzędzi, nie stanowi to żadnego problemu.
Konfiguracja agenta SNMP na zdalnych węzłach:
Po zainstalowaniu agenta snmp, po prostu vi plik /etc/snmpd/snmpd.conf i dodaj do niego ten wiersz:
rocommunity (specify-a-community-string-aka-password-here)
Następnie uruchom ponownie agenta snmpd, używając:
/etc/init.d/snmpd restart
Następnie na serwerze centralnym, z którego zamiast tego monitorujesz wszystkie pozostałe serwery, możesz uruchomić następujące polecenie:
$ time ./checkMemoryviaSNMP -v2 public gearman001.phs.blah.com 30 90 graphite,10.10.10.10,2003,typical
WARNING: Used = [ 3.26154 GB ], Installed = [ 5.71509 GB ], PCT.Used = [ 57.069% ], Available.Memory = [ 2.00291 GB ]. Buffer = [ 137.594 MB ], Cached = [ 1.3849 GB ]. Thresholds: [ W=(30%) / C=(90%) ]. System Information = [ Linux gearman001.phs.blah.com 2.6.32-504.30.3.el6.x86_64 #1 SMP Thu Jul 9 15:20:47 EDT 2015 x86_64 ].
real 0m0.23s
user 0m0.03s
sys 0m0.02s
2896
a następnie w1528
przypadku buforów, nie oznacza to, że używasz2896 + 1528
?