Wie exportiere ich TrueNAS Scale Pool-Metriken nach Grafana?

user324543

Lt. Junior Grade
Registriert
Jan. 2020
Beiträge
310
Hi,
ich suche eine Lösung, wie ich TrueNAS Metriken (Hauptsächlich Pooldaten, wie scrub status, pool Speicherbelegung) in meine Grafana Dashboards importieren kann.
Ich habe mittels der nativen Exporterlösung Graphite von Truenas Scale leider nur eingeschränkte Daten erhalten (CPU, RAM, NIC), die keine Poolinfos enthalten.
Im Idealfall richte ich das einfach in Prometheus ein, so wie ich es bei den anderen Exportern auch geschafft habe.

Auszug meines Homelabs:
Code:
Proxmox PVE 9.2.4
    LXC Docker
        Fritz Exporter
        Speedtest Exporter
        Prometheus
        Grafana
        
    VM TrueNAS Scale
Danke für eure Tipps
 
@zaphod88 habe ich getestet: leider weichen die Pool Metriken deutlich von denen aus dem Truenas Scale Dashboard ab. In meinem Fall bedeutet das z.B.:
Code:
Truenas Scale:
    zfs_pool_allocated_bytes:         3.595 TB
    zfs_pool_free_bytes:             236 GB

TrueNAS API Exporter:
    truenas_pool_allocated_bytes    3.354 TB
    truenas_pool_free_bytes            477 GB

KI schlägt daher vor, dass auf dem Truenas Server lokal ein Skript läuft, welche die Daten nach außen sendet. Das klappt auch und liefert die "richtigen" Daten, allerdings hätte ich gerne eine Lösung die zentral auf Prometheus / Docker läuft. Ist das überhaupt möglich?
 
Ein Prometheus-Exporter ist im Prinzip nichts anderes als ein Webserver, der eine Website mit Metriken in einem bestimmten Format bereitstellt, den Prometheus dann scrapen kann. Folgendes wäre also theoretisch zusammen denkbar:

1) Ein Skript, das auf Truenas läuft, die Daten sammelt, als JSON verpackt und periodisch an den Webserver in 2) schickt

2) Ein (dockerized) Skript, das einen Webserver bereitstellt, der die Daten aus 1) entgegennimmt, daraus die Seite für den Exporter bastelt und periodisch aktualisiert. Der könnte dann im Prometheus-Stack laufen und von Prometheus gescrapet werden.

Möglich ist das, aber Du hast dann natürlich zwei Fehlerpunkte statt einen. Wenn Dich das nicht stört, kannst Du ja mal die Dashboard-JSON in eine KI werfen und sie beide Skripte erstellen lassen, wenn Du sie nicht schon hast. Das Dockerfile kann sie sicher auch erstellen und Dir eine Anleitung geben, wie man daraus dann das fertige Image baut.
 
Zurück
Oben