Die Software checkmk ist ein Werkzeug zur Überwachung von Serversystemen. Auch das Monitoring von Proxmox VE Ceph Hosts ist mit checkmk möglich. Dieser Artikel ist eine Anleitung zur Einrichtung und Inbetriebnahme von checkmk zu genau diesem Zweck.

Um einen Proxmox VE Ceph mit checkmk überwachen zu können, sind folgende Komponenten erforderlich:
Sin die vorgenannten Voraussetzungen erfüllt, kann mit der Einrichtung von checkmk auf den Ceph Hosts begonnen werden.
Im ersten Schritt muss ein mk_ceph Agent angelegt werden. Dazu sind einige Einstellung in der checkmk Benutzeroberfläche notwendig:
mk_ceph den Plugin-Pfad http://10.2.1.179:8006/cmk/check_mk/agents/plugins/mk_ceph kopierenAuf jedem Ceph Host müssen nun die folgenden Befehle eingegeben werden, um die Agents zu installieren:
cd /usr/lib/check_mk_agent/plugins wget http://10.2.1.179:8006/cmk/check_mk/agents/plugins/mk_ceph
Die Datei muss allerdings ausführbar gemacht werden, da sonst die Checks nicht funktionieren. Dazu nutzt man den Befehl
chmod +x mk_ceph
Die Konfigurations-Datei unter /usr/lib/check_mk_agent/plugins/mk_ceph muss wie folgt angepasst werden:
USER=client.admin KEYRING=/etc/pve/priv/ceph.client.admin.keyring
Der Rest der Datei darf unverändert bleiben.
Damit die Checks aktiv werden, muss noch einmal ein Service-Discovery in der checkmk-Oberfläche durchgeführt werden. Danach sind die Checks funktional:
Wir empfehlen das Überprüfen der mon_osd_fullratio und dem Setzen einer für Sie passenden nearfull-ratio.
mon_osd_fullratioDer mon_osd_fullratio Konfigurationsparameter in Ceph legt einen Schwellwert in Prozent für die verfügbare Kapazität eines OSD-Datenträgers fest. Wenn dieser Schwellwert erreicht wird, werden keine neuen Daten mehr auf diesen OSD geschrieben. Ein Vollschreiben des Datenträgers wird dadurch verhindert.
Standardmäßig ist die mon_osd_fullratio in Proxmox VE auf 95% eingestellt.
Wenn eine OSD in einem Ceph-Pool diesen Schwellwert erreicht, schaltet Ceph die vollen OSDs und den dazugehörigen Pool in einen Read Only Modus. Dadurch wird Datenverlust verhindert. Um ein solches Szenario zu vermeiden ist es wichtig, den Pool und seine OSDs zu überwachen und frühzeitig zu reagieren.
Wir empfehlen daher schon ab einer Belegung von 60% eine Erweiterung des Pools mit neuen Datenträgern!
Die Daten werden dann neu verteilt und dadurch die prozentuale Belegung der einzelnen OSDs verringert. Dadurch wird die Verfügbarkeit des Pools sichergestellt und Downtime vermieden.
Schon bei der Planung Ihrer Hosts sollten Sie Ihren Bedarf und die voraussichtliche Belegung der OSDs berücksichtigen. Bedenken Sie dabei auch Ausfall-Szenarien. Gerne unterstützen wir Sie hierbei. Durch das Setzen einer nearfull-ratio erhalten Sie eine Warnung bei einem festgelegten Prozentsatz. So sind Sie uneingeschränkt handlungsfähig und vermeiden, dass Ihr System an Funktionalität einbüßt.
Die aktuellen OSD-Ratios kann man wie folgt rausfinden:
root@PMX4:~# ceph osd dump | grep ratio full_ratio 0.95 backfillfull_ratio 0.9 nearfull_ratio 0.75
Danach setzt man einen passenden Wert:
root@PMX4:~# ceph osd set-nearfull-ratio 0.6 osd set-nearfull-ratio 0.6
Erreicht eine OSD nun 60% Belegung, wird ein Ceph Warning getriggerd. Dieser wird auch via Check-MK im Ceph-Health Check auftauchen und somit korrekt vor einer potentiell drohenden Downtime warnen.
|
Autor: Jonas Sterr Ich beschäftige mich mit den Themen Software Defined Storage, Proxmox Virtualisierung auf Basis von KVM, QEMU & Ceph im Produktmanagement der Thomas-Krenn.AG in Freyung. Proxmox ist meine absolute Leidenschaft und ich freue mich gerne über Kontaktanfragen und einen Austausch auf LinkedIn.
|