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

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


Vor 5 Jahren hier im Blog

  • NullPointer in FontConfig in Alpine-Java-Docker

    30.08.2020

    Ich habe nach zwei Tagen herumprobieren doch wieder ein Ticket auf GitHub eröffnet.

    Weiterlesen

Neueste Artikel

  • Air-gapped Certificate Authority

    Ich habe bereits in der Vergangenheit darüber geschrieben, wie wichtig ein transparentes und durchdachtes (und gelebtes!) Certificate Policy Statement ist - hier möchte ich nun ein Gedankenspiel vorstellen, wie man eine PKI vollständig air-gapped betreiben kann und doch noch einen relativ hohen Durchsatz erreicht und dabei sogar Wege offen bleiben, eine Automatisierung des Prozesses der Zertifikatserstellung zu erlauben...

    Weiterlesen
  • Anlehnung an todo.txt für collectedlinks

    Ich habe den Generator für meine Heimatseite im Zwischennetz wieder um ein neues Feture erweitert.

    Weiterlesen
  • NeoVim und ausrangierte Plugins

    Ich habe nun seit geraumer Zeit NeoVim im Einsatz im Produktivbetrieb zum Entwickeln - nicht nur - von Software. Dabei hat sich gezeigt, dass ich meinem Ziel, der Philosophie des Einsatzes möglichst weniger Plugins immer näher komme:

    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.