Der Hauptprozess (gwd) lässt seinen Speicher durch vc_process_monitor überwachen, wodurch sichergestellt wird, dass nie mehr als 75 % des verfügbaren Speichers verbraucht werden. Folglich erfolgt die Überwachung des gesamten Systemspeichers mit einem Warnungsschwellenwert von 80 % und einem kritischen Schwellenwert von 90 %.
Sie können ein Gateway mit Schwellenwerten überwachen, die Warnungen oder kritische Statuszustände bereitstellen und vor der Beeinträchtigung der Dienste auf potenzielle Probleme hinweisen. In der folgenden Tabelle sind die Schwellenwerte und empfohlenen Aktionen aufgeführt.
Status des Schwellenwerts | Schwellenwert | Empfohlene fehlerbehebende Aktion |
---|---|---|
Warnung | 80 % | Wenn der Arbeitsspeicher den Warnungsschwellenwert überschreitet:
Fortsetzung der aktiven Überwachung und Überprüfung auf Zunahme der Nutzung. |
Kritisch | 90 % | Wenn der Arbeitsspeicher den kritischen Schwellenwert überschreitet:
Wenn das Problem erneut auftritt:
Hinweis: Stellen Sie vor der Neuverteilung des Gateways sicher, dass die Kapazitätsmetriken innerhalb des empfohlenen Grenzwerts liegen. Weitere Informationen zu Kapazitätsmetriken finden Sie unter
Kapazität von Gateway-Komponenten.
|
#!/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)