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:
Inventaraufstellung in Grafana
NullPointer in FontConfig in Alpine-Java-Docker
30.08.2020
Ich habe nach zwei Tagen herumprobieren doch wieder ein Ticket auf GitHub eröffnet.
WeiterlesenAndroid Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Java. Komponenten Jupyter JupyterBinder Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Präsentationen Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
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...
WeiterlesenIch habe den Generator für meine Heimatseite im Zwischennetz wieder um ein neues Feture erweitert.
WeiterlesenIch 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:
WeiterlesenManche 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.