Monitoring eines Proxmox VE Ceph Hosts mit checkmk

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

Voraussetzungen

Um einen Proxmox VE Ceph monitoren zu können mittels checkmk benötig es folgende Komponenten:

  • einen installierten Linux Server (bevorzugt Debian 12)
  • eine vollständige Installation von Docker
  • einen betriebsbereiten, funktionalen checkMK-RAW Container (kostenfrei)
  • ein Proxmox Ceph HCI Cluster mit installiertem Ceph
  • ein bereits in checkmk angelegter und registrierter Proxmox VE Host

Agent mk_ceph

In der checkmk UI geht man wie folgt vor:

Agent Installation (Ceph Host)

Auf jedem Ceph Host geht man dann wie folgt vor:

cd /usr/lib/check_mk_agent/plugins
wget http://10.2.1.179:8006/cmk/check_mk/agents/plugins/mk_ceph
chmod +x mk_ceph

Konfig-Datei (Ceph Host)

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. Die Datei muss allerdings ausführbar gemacht werden, da sonst die Checks nicht funktionieren: chmod +x mk_ceph

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. Hier ein paar Hintergrund Informationen.

Die "mon osd full ratio" ist ein Konfigurationsparameter in Ceph, der festlegt, ab welchem Prozentsatz der verfügbaren Kapazität eines OSD-Datenträgers Ceph-OSDs als "voll" markiert werden. Wenn dieser Prozentsatz erreicht wird, werden keine neuen Daten mehr auf diesen OSD geschrieben, um zu verhindern, dass der Datenträger vollgeschrieben wird. Standardmäßig ist die "mon osd full ratio" auf 95% eingestellt (Proxmox VE). Wenn eine OSD in einem Ceph-Pool voll ist, hat dies Auswirkungen auf die Verfügbarkeit des Pools, da Ceph aufgrund der vollgelaufenen OSD die OSD, aber auch den dazugehörigen Pool Read-Only schaltet, damit es nicht zu Datenverlust kommt. Daher ist es ganz wichtig den Pool und alle dazugehörigen OSDs zu überwachen und sicherzustellen, dass sie nicht volllaufen. Es ist auch wichtig, schnell zu handeln, wenn eine OSD nahe an die besagte MON-OSD-FULL-RATIO kommt, um die Verfügbarkeit des Pools sicherzustellen und eine Downtime zu vermeiden. Am Besten kann man dies über das Hinzufügen neuer OSDs lösen, da die Daten dann neu verteilt werden und somit die prozentuale Belegung der OSD(s) wieder abnimmt. Wir empfehlen schon bei einer %-Belegung von 60% neue Datenträger nachzuordern. Machen Sie sich auch Gedanken, wieviele Datenträger Ausfälle Sie je Host verkraften können wollen und errechnen Sie sich dadurch die maximale prozentale Belegung die Sie bei Ihren OSDs haben sollten. Gerne unterstützen wir Sie hierbei. Durch das Setzen einer nearfull-ratio erhalten Sie eine Warnung bei Prozentsatz X und Sie sind noch handlungsfähig ohne dass das 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% Usage, so wird ein Ceph Warning getriggerd, welcher auch via Check-MK im Ceph-Health Check auftaucht und somit korrekt vor einer potentiell drohenden Downtime warnt.

Ceph Checks Proxmox VE
Foto Jonas Sterr.jpg

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 - max. Recovery & Backfilling Speed erhöhen
Ceph Perfomance Guide - Sizing & Testing
Ceph: a password is required command=nvme error