Contrôle de l'utilisation de la mémoire
Je suis plus en ligne avec l'un des messages précédents qui ont mentionné Cacti comme un excellent moyen de surveiller l'utilisation de la mémoire. Cependant, comme il semble que les cactus ne sont plus populaires dans le monde traditionnel, il existe une application graphique alternative appelée Graphite.
Graphite est relativement facile à installer sur un serveur Ubuntu et, pour l'installer, vous pouvez consulter ce lien pour en savoir plus sur les procédures d'installation.
Une fois le graphite installé, vous pouvez maintenant lui envoyer des métriques de mémoire, à l’intervalle de votre choix. toutes les 5 secondes, toutes les minutes, toutes les heures, etc.
Pour représenter graphiquement les métriques de la mémoire, comme suggéré dans les précédents articles, vous pouvez écrire votre propre script à l'aide des outils système pour collecter les informations de mémoire nécessaires. Ou bien, vous pouvez utiliser un plugin snmp pré-écrit qui fera tout le travail à votre place.
Si vous souhaitez écrire votre propre script de mémoire, il est judicieux de vous assurer que vous tenez compte de la mémoire tampon et de la mémoire cache lors du calcul de la mémoire utilisée, sinon vous finirez par collecter de fausses données.
Si vous souhaitez plutôt utiliser un plugin snmp qui effectue déjà tous les calculs nécessaires, voici un lien vers celui qui fonctionne assez bien: checkMemoryviaSNMP .
Avantages de SNMP:
J'ai snmp installé sur tous les nœuds distants que je surveille. Cela me permet de surveiller tous mes systèmes depuis un ou plusieurs serveurs centraux , sans avoir à copier ou à mettre un plugin sur les nœuds distants.
Inconvénients de SNMP:
Vous devez vous assurer que l' agent snmp est installé sur chacun des nœuds distants sur lesquels vous souhaitez surveiller la mémoire. Cependant, cette installation sera une affaire unique. Si vous utilisez des outils d'automatisation tels que chef ou marionnette ou des outils similaires dans votre environnement, ce n'est pas un problème du tout.
Configuration de l'agent SNMP sur le ou les nœuds distants:
Une fois l’agent snmp installé, passez simplement le fichier /etc/snmpd/snmpd.conf et ajoutez-y cette ligne:
rocommunity (specify-a-community-string-aka-password-here)
Puis redémarrez l'agent snmpd avec:
/etc/init.d/snmpd restart
Ensuite, sur votre serveur central, à partir duquel vous surveillez tous vos autres serveurs, vous pouvez exécuter la commande suivante:
$ 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
et ensuite1528
sur les tampons, cela ne signifie-t-il pas que vous utilisez2896 + 1528
?