MongoDB Größen überwachung
Beschreibung:
Ein lokal check, der alle collections durchgeht und ausgibt.
Der Check muss auf dem MongoDB Server eingefügt werden, da er eijne Localhostverbindung
zum MongoDB Server aufbaut.
Das Script
from pymongo import MongoClient
# Konstanten für Schwellwerte
WARNUNGSGROESSE_GB = 0.5
KRITISCHGROESSE_GB = 1.0
# Verbindung zur MongoDB herstellen
client = MongoClient('mongodb://localhost:27017/')
# Alle Datenbanknamen abrufen
db_names = client.list_database_names()
# Durch jede Datenbank iterieren und die Statistiken abrufen
for db_name in db_names:
db = client[db_name]
stats = db.command('dbstats')
# Größe in Gigabytes umrechnen
groesse_gb = stats['dataSize'] / (1024**3)
# Prüfe die Größe gegen Schwellwerte und gebe entsprechenden Status aus
if groesse_gb > KRITISCHGROESSE_GB:
status = 2 # Kritisch
status_message = "CRITICAL"
elif groesse_gb > WARNUNGSGROESSE_GB:
status = 1 # Warnung
status_message = "WARNING"
else:
status = 0 # OK
status_message = "OK"
print(f"{status} MongoDB_{db_name}_Groesse - {status_message} - Groesse: {groesse_gb:.2f} GB")
# MongoDB-Verbindung schließen
client.close()
Hier auchnochmals als download: mongodbsizes.py
Installation:
Das script in folgendem Pfad anlegen bzw. hin kopieren
/usr/lib/check_mk_agent/local/mongodbsizes.py
Nun noch ausführbar machen.
chmod +x /usr/lib/check_mk_agent/local/mongodbsizes.py
Fertig