Le processus principal (GWD) a sa mémoire surveillée par vc_process_monitor, ce qui garantit qu'il ne consomme jamais plus de 75 % de la mémoire disponible. En effet, la surveillance de la mémoire système totale est effectuée avec un seuil d'avertissement de 80 % et un seuil critique de 90 %.
Vous pouvez surveiller une passerelle avec des seuils qui fournissent des états d'avertissement ou critiques qui indiquent des problèmes potentiels avant d'avoir une incidence sur les services. Le tableau suivant répertorie les valeurs de seuil et les actions recommandées.
État du seuil | Valeur de seuil | Action corrective recommandée |
---|---|---|
Avertissement | 80 % | Si la mémoire dépasse le seuil d'avertissement :
Poursuivez la surveillance active et vérifiez l'augmentation éventuelle de l'utilisation. |
Critique | 90 % | Si la mémoire dépasse le seuil critique :
Si le problème persiste :
Note : Avant de rééquilibrer la passerelle, vérifiez que les mesures de capacité se situent dans la limite recommandée. Pour plus d'informations sur les mesures de capacité, reportez-vous à la section
Capacité des composants de passerelle.
|
#!/usr/bin/env python from optparse import OptionParser import sys # Parse commandline options: parser = OptionParser(usage="%prog -w <warning threshold>% -c <critical threshold>% [ -h ]") parser.add_option("-w", "--warning", action="store", type="string", dest="warn_threshold", help="Warning threshold in absolute(MB) or percentage") parser.add_option("-c", "--critical", action="store", type="string", dest="crit_threshold", help="Critical threshold in ansolute(MB) or percentage") (options, args) = parser.parse_args() def read_meminfo(): meminfo = {} for line in open('/proc/meminfo'): if not line: continue (name, value) = line.split()[0:2] meminfo[name.strip().rstrip(':')] = int(value) return meminfo if __name__ == '__main__': if not options.crit_threshold: print "UNKNOWN: Missing critical threshold value." sys.exit(3) if not options.warn_threshold: print "UNKNOWN: Missing warning threshold value." sys.exit(3) is_warn_pct = options.warn_threshold.endswith('%') if is_warn_pct: warn_threshold = int(options.warn_threshold[0:-1]) else: warn_threshold = int(options.warn_threshold) is_crit_pct = options.crit_threshold.endswith('%') if is_crit_pct: crit_threshold = int(options.crit_threshold[0:-1]) else: crit_threshold = int(options.crit_threshold) if crit_threshold >= warn_threshold: print "UNKNOWN: Critical percentage can't be equal to or bigger than warning percentage." sys.exit(3) meminfo = read_meminfo() memTotal = meminfo["MemTotal"] memFree = meminfo["MemFree"] + meminfo["Buffers"] + meminfo["Cached"] memFreePct = 100.0*memFree/memTotal if (is_crit_pct and memFreePct <= crit_threshold) or (not is_crit_pct and memFree/1024<=crit_threshold): print "CRITICAL: Free memory is at %2.0f %% ( %d MB free our of %d MB total)" % (memFreePct, memFree/1024, memTotal/1024) sys.exit(2) if (is_warn_pct and memFreePct <= warn_threshold) or (not is_warn_pct and memFree/1024<=warn_threshold): print "WARNING: Free memory is at %2.0f %% ( %d MB free our of %d MB total)" % (memFreePct, memFree/1024, memTotal/1024) sys.exit(1) else: print "OK: Free memory is at %2.0f %% ( %d MB free our of %d MB total)" % (memFreePct, memFree/1024, memTotal/1024) sys.exit(0)