Monitoraggio dell'utilizzo della memoria
Sono più in linea con uno dei post precedenti che menziona Cactus come un ottimo modo per monitorare l'utilizzo della memoria. Tuttavia, poiché sembra che i cactus non siano più popolari nel mainstream, esiste un'applicazione grafica alternativa chiamata Graphite.
La grafite è relativamente facile da installare su un server Ubuntu e per installarlo, puoi consultare questo link per le procedure di installazione facili da seguire.
Dopo aver installato la grafite, ora è possibile inviare ad esso metriche di memoria, a qualunque intervallo desiderato; ogni 5 secondi, ogni minuto, ogni ora ... ecc.
Per rappresentare graficamente le metriche di memoria, come già suggerito nei post precedenti, è possibile scrivere il proprio script utilizzando gli strumenti di sistema per raccogliere le informazioni di memoria necessarie. In alternativa, puoi utilizzare un plug-in snmp pre-scritto che farà tutto il lavoro per te.
Se desideri scrivere il tuo script di memoria, sarà saggio assicurarti di tenere conto della memoria bufferizzata e memorizzata nella cache durante il calcolo della memoria utilizzata, altrimenti finirai per raccogliere dati falsi.
Se desideri invece utilizzare un plug-in snmp che esegue già tutti i calcoli necessari per te, ecco un link a uno che funziona abbastanza bene: checkMemoryviaSNMP .
Pro di SNMP:
Ho snmp installato su tutti i nodi remoti che controllo. Ciò mi consente di monitorare tutti i miei sistemi da uno o più server centrali , senza dover copiare o inserire un plug-in sui nodi remoti.
Contro di SNMP:
Dovresti assicurarti che l' agente snmp sia installato su ciascuno dei nodi remoti su cui desideri monitorare la memoria. Tuttavia, questa installazione sarà un affare una tantum. Se stai utilizzando strumenti di automazione come chef o burattino o strumenti simili nel tuo ambiente, questo non è affatto un problema.
Configurazione dell'agente SNMP sui nodi remoti:
Dopo aver installato l'agente snmp, vi è semplicemente il file /etc/snmpd/snmpd.conf e aggiungere questa riga ad esso:
rocommunity (specify-a-community-string-aka-password-here)
Quindi riavviare l'agente snmpd, con:
/etc/init.d/snmpd restart
Quindi, sul tuo server centrale, da cui invece per monitorare tutti gli altri server, puoi eseguire il comando seguente:
$ 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
e poi1528
per i buffer, questo non significa che stai usando2896 + 1528
?