LXC Metriken erweitern (memfree/MEM_FREE)

Lanhydrock

Member
Dec 5, 2021
1
0
6
56
Wir fragen uns, wie wir MEM_FREE (gemäß free -m unter Debian) als weitere Metrik exportieren können, um es pro LXC-Container zu monitoren.

Hintergrund/ Problem:

Wir hatten bei einem LXC Container mit einer Debian basierten Installation von NextPVR (*) das Problem, dass wir bei Aufnahmen ab einem bestimmten Zeitpunkt Paketverluste erlitten; und zwar immer dann, wenn wir in Proxmox dem Container eine Hauptspeicherbegrenzung zugewiesen hatten, die deutlich geringer war als der verfügbare Hauptspeicher.
(*) http://www.nextpvr.com

Mithilfe von Netdata konnte wir erkennen, dass das Anwachsen des Page Caches durch die Stream-Dateien offensichtlich dazu führte, dass diese Paketverluste entstanden; nämlich genau zu den Zeitpunkten mit den roten Pfeilen in der oberen Reihe auf dem Screenshot. Dies war eben auf das Anwachsen des MEMORY USAGE: FILE - Bereichs zurückzuführen, der offensichtlich nicht (/nicht schnell genug/nicht schnell genug mit unserer verbauten SSD) korrigiert werden konnte.

Daher würden wir gerne monitoren, ob es zu solchen Zuständen kommt.

Wir meinen zu erkennen, dass ein free -m im LXC Container in der Spalte FREE genau diese Metrik bietet.

Wir finden in der Proxmox API (*) nur MAXMEM und MEM (und damit ja wohl indirekt MEM_AVAILABLE), aber eben nicht MEM_FREE.
(*) pvesh get /nodes/[node]/lxc/[CTID]/rrddata --timeframe hour

Ggfs. würde auch eine Lösung helfen, die Einzelwerte aufzuaddieren, die Werte scheinen ja von cgroups bereitgestellt zu werden.
(*) cat /sys/fs/cgroup/lxc/[CTID]/memory.stat
cat /sys/fs/cgroup/lxc/[CTID]/memory.current

Wir sind aber zu unerfahren: Was müssten wir wo im Code anpassen, um die API erweitern zu können, so dass weitere Metriken exportiert werden?

Vielen Dank im voraus für Eure HIlfe. Und vielen Dank für das wunderbare Proxmox VE.
 

Attachments

  • 791b797b91ebb6c1ef6fe95c781f938ab690b288.jpeg
    791b797b91ebb6c1ef6fe95c781f938ab690b288.jpeg
    112.1 KB · Views: 4
Last edited: