Hardware-Inventarisierung mal anders(?)

31.08.2025

Ich habe bereits seit einiger Zeit immer mal wieder vor, die in meinen Bastelschränken und auf meinem Schreibtisch vorhandenen Hardwarekomponenten sauber zu inventarisieren. Alle meine bisherigen Versuche schlugen jedoch fehl, da ich mich bisher darauf fokussierte, eine self-hosted Anwendung dafür zu finden. Allerdings sind mir die üblichen Verdächtigen entweder zu schwergewichtig oder zu unflexibel. Ich kam aber auf eine (für mich) neue Idee:

Die Idee ist simpel: Benutze installierte Anwdndungen, um die Rechner zu inventarisieren, gib acht, dass das Resultat in Markdown formatiert ist. Alles, was dann noch zu tun blieb war, das Resultat in ein Textpanel in das Dashboard der jeweiligen Maschine in Grafana zu integrieren.

Für die einzige Windows-Maschine, die ich noch besitze, habe ich das Resultat per Hand erzeugt, für die Linux-Maschinen habe ich zwei Skripte geschrieben - eins funktioniert für PCs und eins funktioniert für Raspis und ähnliche:

#!/bin/bash
#Intel und vergleichbare
echo "# ${HOSTNAME}"
echo "dmidecode -t 2 |grep "Manufacturer\|Product Name\|Serial Number\|Type:"
echo "dmidecode -t 4 |grep "Version:"
echo "dmidecode -t 17 |grep "Size\|Locator\|Manufacturer\|Serial Number"
echo "lsblk -o NAME,KNAME,VENDOR,MODEL,SERIAL,SIZE,STATE -d |grep -v loop| sed -e 's/^/\t/'
echo "echo -e '\t`'$(uname -a)'`'
#!/bin/bash
#Raspis, Arm et. al.
echo "# ${HOSTNAME}"
echo "cat /sys/firmware/devicetree/base/model| sed -e 's/^/\t/'
echo ""
#Diese beiden Zeilen müssen auskommentiert werden, wenn es sich nicht um einen Raspi handelt!
#echo -e "\n#vcgencmd version| sed -e 's/^/\t/'
echo "lscpu |grep "Architecture\|Vendor ID\|Model name\|Serial Number"| sed -e 's/^/\t/'
echo "free -h| sed -e 's/^/\t/'
echo "lsblk -o NAME,KNAME,VENDOR,MODEL,SERIAL,SIZE,STATE -d |grep -v "zram\|loop"| sed -e 's/^/\t/'
echo "echo -e '\t`'$(uname -a)'`'

Damit erhält man dann zum Beispiel ein solches Ergebnis:

# Futro
        Manufacturer: FUJITSU
        Product Name: D3313-B1
        Serial Number: xxxxxxxx
        Type: Motherboard
        Version: AMD GX-217GA SOC with Radeon(tm) HD Graphics   
        Size: 8 GB
        Locator: DIMM 1
        Bank Locator: CHANNEL A
        Manufacturer: <BAD INDEX>
        Serial Number: xxxxxxxx
        NAME   KNAME  VENDOR   MODEL   SERIAL                 SIZE STATE
        sda    sda    ATA      INTENSO xxxxxxxxxxxxxxxxxxxx1 476,9G running
        `Linux futro 5.15.0-139-generic #149-Ubuntu SMP Fri Apr 11 22:06:13 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux`

und in Grafana sieht das dann so aus:

Screenshot Inventaraufstellung in Grafana

Artikel, die hierher verlinken

Datenmodell für Inventarisierung

07.09.2025

Im vorhergehenden Artikel zum Thema Inventarisierung habe ich beschrieben, wie ich Rechner und deren Komponenten für meinen Haushalt/Labor mit einer sehr schnellen Lösung umfassend dokumentiert habe. Diese Beschränkung auf Rechner reicht natürlich nicht aus.

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Generator-Framework in JMeter integriert

    27.09.2020

    Nachdem ich neulich zwei neue Container für Software-Tests zu meinem Docker-Zoo hinzugefügt habe ist es nun an der Zeit, ein weiteres Hilfsmittel für Software-Tests mit JMeter vorzustellen

    Weiterlesen

Neueste Artikel

  • Generated Key Management in der sQLshell

    Ich habe an einem neuen Feature der sQLshell gearbeitet, das die manuelle Dateiengabe extrem vereinfacht.

    Weiterlesen
  • LinkCollections 2025 X

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2025 folgt hier gleich die nächste:

    Weiterlesen
  • GUI zur Logback Konfiguration

    Ich habe mich immer wieder darüber geärgert, wenn ich gerade mitten im Entwickeln neuer Features bin und irgendetwas nicht klappt. Dann wollte ich versuchen, herauszufinden, was der Grund dafür sein könnte und natürlich ist das Logging für die eine interessante Klasse gerade deaktiviert. Also: Konfigurationsdatei fürs Logging editieren, speichern, Anwendung neu starten... Damit sollte endlich Schluss ein!

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.