Surveillance de l’utilisation de la mémoire
Je suis plus en ligne avec l'un des articles précédents qui mentionnait Cacti comme un excellent moyen de surveiller l'utilisation de la mémoire. Cependant, comme il semble que les cactus ne soient plus populaires dans le grand public, il existe une autre application graphique appelée Graphite.
Graphite est relativement facile à installer sur un serveur Ubuntu et pour l’installer, vous pouvez consultez ce lien pour connaître les procédures d'installation faciles à suivre.
Une fois le graphite installé, vous pouvez lui envoyer des mesures de mémoire, selon l’intervalle souhaité; toutes les 5 secondes, toutes les minutes, toutes les heures ... etc.
Pour représenter graphiquement les métriques de mémoire, comme cela a déjà été suggéré dans les articles précédents, vous pouvez écrire votre propre script en utilisant les outils système pour collecter les informations de mémoire nécessaires. Ou, vous pouvez utiliser un plugin prédéfini snmp qui fera tout le travail pour vous.
Si vous souhaitez écrire votre propre script de mémoire, il sera judicieux de vous assurer que vous utilisez la mémoire mise en mémoire tampon et mise en cache lors du calcul de la mémoire utilisée, sinon vous finirez par collecter de fausses données.
Si vous souhaitez utiliser à la place un plug-in snmp qui effectue déjà tous les calculs nécessaires pour vous, voici un lien vers celui qui fonctionne plutôt bien: checkMemoryviaSNMP .
Avantages de SNMP:
J'ai installé snmp sur tous les noeuds distants que je surveille. Cela me permet de surveiller tous mes systèmes depuis un ou plusieurs serveurs centraux , sans avoir à copier ou à placer un plug-in sur les nœuds distants.
Inconvénients de SNMP:
Vous devez vous assurer que l'agent snmp est installé sur chacun des noeuds distants sur lesquels vous souhaitez surveiller la mémoire. Cependant, cette installation sera un contrat unique. Si vous utilisez des outils d'automatisation tels que des chefs, des marionnettes ou des outils similaires dans votre environnement, alors 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é, il suffit de vi / /cd/snmpd/snmpd.conf et d’ajouter cette ligne:
rocommunity (specify-a-community-string-aka-password-here)
Redémarrez ensuite 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