Monitoring eines Proxmox VE Ceph Hosts mit checkmk

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

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.

Voraussetzungen

Ceph Checks Proxmox VE
Ceph Checks Proxmox VE

Um einen Proxmox VE Ceph mit checkmk überwachen zu können, sind folgende Komponenten erforderlich:

  • Eine Linux Server Installation (bevorzugt Debian)
  • Eine vollständige Docker Installation[1]
  • Ein betriebsbereiter checkmk-RAW Container[2][3]
  • Ein Proxmox Ceph HCI Cluster
  • Ein in checkmk angelegter und registrierter Proxmox VE Host

Einrichtung und Inbetriebnahme von checkmk

Sin die vorgenannten Voraussetzungen erfüllt, kann mit der Einrichtung von checkmk auf den Ceph Hosts begonnen werden.

Agent mk_ceph

Im ersten Schritt muss ein mk_ceph Agent angelegt werden. Dazu sind einige Einstellung in der checkmk Benutzeroberfläche notwendig:

  1. Zunächst wechselt man im Menü unter Setup zu Agents und wählt Linux
  2. Jetzt mit einem Rechtsklick und der Auswahl Link kopieren für mk_ceph den Plugin-Pfad http://10.2.1.179:8006/cmk/check_mk/agents/plugins/mk_ceph kopieren

Agent Installation auf Ceph Hosts

Auf 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

Anpassung der Konfigurationsdatei auf Ceph Hosts

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.

Ceph Checks aktivieren

Damit die Checks aktiv werden, muss noch einmal ein Service-Discovery in der checkmk-Oberfläche durchgeführt werden. Danach sind die Checks funktional:

MON OSD Ratio Check

Wir empfehlen das Überprüfen der mon_osd_fullratio und dem Setzen einer für Sie passenden nearfull-ratio.

Exkurs - mon_osd_fullratio

Der 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.

Einzelnachweise

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.


Das könnte Sie auch interessieren

Ceph Health Warnings aus Proxmox GUI entfernen
Hostname ändern in einem produktiven Proxmox Ceph HCI Cluster
MGR Pool (.mgr) neu erstellen in Proxmox VE