Direkt zum Hauptinhalt

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