NEWS
[Neuer Adapter] Proxmox VM
-
@juk das macht größtenteils der Info Adapter
-
@crunchip
Hi, entschuldigung aber evtl. verstehe ich die Funktion vom Info Adapter nicht richtig, ich moechte die CPU und HDD temp des Proxmox servers auslesen, wenn ich es richtig verstehe gibt mir der "Info" Adapter die Informationen fuer den ioBroker server - ja der laeuft auch auf Proxmox und ich scheine die CPU Temp des Hostst (Proxmox) zu finden aber nicht die der HDD...
Was waere denn wenn ioBroker auf einem anderen System und nicht Proxmox laufen wuerde, dann haette ich also keine Moeglichkeit es auszulesen?Danke
-
@juk sagte in [Neuer Adapter] Proxmox VM:
Was waere denn wenn ioBroker auf einem a
wollte nur mitteilen das bestimmte Werte der Info liefert.
Du kannst dir die Werte auch selbst holen. Der Adapter Linux-Control bietet dir die Möglichkeit -
-
@meister-mopper @crunchip
vielen Dank, werde ich mir ansehen! -
@juk sagte in [Neuer Adapter] Proxmox VM:
,waere es moeglich die Temperatur der CPU und HDD des Proxmox servers auszulesen?
Hallo,
ich mache das mit einem Script, das über Cron auf dem Proxmox läuft. Das Script überträgt die Temperaturen auf Datenpunkte, die ich im iobroker unter 0_userdata.0.xxx angelegt habe.Hier das Script:
#!/bin/bash #ioBroker-Datenpunkt DP=0_userdata.0.System.Temperatur.Core_0 DP1=0_userdata.0.System.Temperatur.Core_1 DP2=0_userdata.0.System.Temperatur.Core_0_last_change DP3=0_userdata.0.System.Temperatur.Core_1_last_change DP4=0_userdata.0.System.Temperatur.Core_2 DP5=0_userdata.0.System.Temperatur.Core_3 DP6=0_userdata.0.System.Temperatur.Core_2_last_change DP7=0_userdata.0.System.Temperatur.Core_3_last_change DP8=0_userdata.0.System.Temperatur.Core_4 DP9=0_userdata.0.System.Temperatur.Core_5 DP10=0_userdata.0.System.Temperatur.Core_4_last_change DP11=0_userdata.0.System.Temperatur.Core_5_last_change #ioBroker-IP:Port IPP=192.168.1.100:8087 for((c=1; c<=5; c++)) do sleep 10 SQL=$(sensors | grep 'Core 0:' | awk '{print $3}' | cut -c2-3) d0=`date +%Y-%m-%d@%H:%M` SQL1=$(sensors | grep 'Core 1:' | awk '{print $3}' | cut -c2-3) d1=`date +%Y-%m-%d@%H:%M` SQL2=$(sensors | grep 'Core 2:' | awk '{print $3}' | cut -c2-3) d2=`date +%Y-%m-%d@%H:%M` SQL3=$(sensors | grep 'Core 3:' | awk '{print $3}' | cut -c2-3) d3=`date +%Y-%m-%d@%H:%M` SQL4=$(sensors | grep 'Core 4:' | awk '{print $3}' | cut -c2-3) d4=`date +%Y-%m-%d@%H:%M` SQL5=$(sensors | grep 'Core 5:' | awk '{print $3}' | cut -c2-3) d5=`date +%Y-%m-%d@%H:%M` #an ioBroker senden curl http://${IPP}/set/${DP}?value={$SQL} curl http://${IPP}/set/${DP2}?value={$d0} curl http://${IPP}/set/${DP1}?value={$SQL1} curl http://${IPP}/set/${DP3}?value={$d1} curl http://${IPP}/set/${DP4}?value={$SQL2} curl http://${IPP}/set/${DP6}?value={$d2} curl http://${IPP}/set/${DP5}?value={$SQL3} curl http://${IPP}/set/${DP7}?value={$d3} curl http://${IPP}/set/${DP8}?value={$SQL4} curl http://${IPP}/set/${DP10}?value={$d4} curl http://${IPP}/set/${DP9}?value={$SQL5} curl http://${IPP}/set/${DP11}?value={$d5} done
Es muss curl und lmsensors installiert sein. Das Script liegt bei mir unter /usr/local/bin, ist ausführbar.
Der zugehörige Eintrag in die Crontab für root:
* * * * * bash /usr/local/bin/cpu_temp_send_iobroker.sh >/dev/null 2>&1
Vielleicht reicht Dir das aus, um die Coretemperaturen auszulesen. Dargestellt dann in VIS, hier noch ein wenig mit der Textfarbe gespielt (grün, gelb, rot)
im Feld Color für die Schrift:{v:0_userdata.0.System.Temperatur.Core_3;v < 45 ? "#25f410" :: v < 60 ? "#f4a610" :: v < 75 ? "#f41028" :: "#FF0000"}
Belegung der HDD ist ähnlich aufgebaut, nur das Script ist etwas anders aufgebaut:
#!/bin/bash #ioBroker-Datenpunkt # DP=0_userdata.0.Festplatten.iobroker.Belegung_SDB # DP1=0_userdata.0.Festplatten.iobroker.Belegung_SDB_last_change DP2=0_userdata.0.Festplatten.Proxmox.Belegung_SDA1 DP3=0_userdata.0.Festplatten.Proxmox.Belegung_SDA1_last_change # DP4=javascript.0.System.Temperatur.Core_2 # DP5=javascript.0.System.Temperatur.Core_3 # DP6=javascript.0.System.Temperatur.Core_2_last_change # DP7=javascript.0.System.Temperatur.Core_3_last_change # DP8=javascript.0.System.Temperatur.Core_4 # DP9=javascript.0.System.Temperatur.Core_5 # DP10=javascript.0.System.Temperatur.Core_4_last_change # DP11=javascript.0.System.Temperatur.Core_5_last_change #ioBroker-IP:Port IPP=192.168.1.100:8087 for((c=1; c<=1; c++)) do sleep 10 # SQL=$(df -h /dev/sdb | grep '/dev/sdb' | awk '{print $5}' | cut -c-1) # d0=`date +%Y-%m-%d@%H:%M` SQL1=$(df -h /dev/sda1 | grep '/dev/sda1' | awk '{print $5}' | cut -c-2) d1=`date +%Y-%m-%d@%H:%M` # SQL2=$(sensors | grep 'Core 2:' | awk '{print $3}' | cut -c2-3) # d2=`date +%Y-%m-%d@%H:%M` # SQL3=$(sensors | grep 'Core 3:' | awk '{print $3}' | cut -c2-3) # d3=`date +%Y-%m-%d@%H:%M` # SQL4=$(sensors | grep 'Core 4:' | awk '{print $3}' | cut -c2-3) # d4=`date +%Y-%m-%d@%H:%M` # SQL5=$(sensors | grep 'Core 5:' | awk '{print $3}' | cut -c2-3) # d5=`date +%Y-%m-%d@%H:%M` #an ioBroker senden # curl http://${IPP}/set/${DP}?value={$SQL} # curl http://${IPP}/set/${DP1}?value={$d0} curl http://${IPP}/set/${DP2}?value={$SQL1} curl http://${IPP}/set/${DP3}?value={$d1} # curl http://${IPP}/set/${DP4}?value={$SQL2}
zugehöriger Eintrag in der Crontab:
0 8 * * * bash /usr/local/bin/hdd_belegung_proxmox.sh >/dev/null 2>&1
-
@meistertr
Ist es möglich die Vm damit neuzustarten ? Oder zu stoppen ? -
@chucky666 früher ging der Datenpunkt nicht zum schalten, weiß nicht ob es mittlerweile funktioniert, probiere es doch einfach aus
-
@chucky666 sagte in [Neuer Adapter] Proxmox VM:
@meistertr
Ist es möglich die Vm damit neuzustarten ? Oder zu stoppen ?mit folgedem:
setState("proxmox.0.qemu_iobroker.reboot",true);
macht die VM ein roboot.
-
@dr-bakterius said in [Neuer Adapter] Proxmox VM:
Ich mache das über ein bash-Skript auf dem NUC und zwei Datenpunkten im ioBroker.
Wenn ich den einen Datenpunkt setze, wird das vom Skript (das per cron jede Minute ausgeführt wird) festgestellt und eine Rückmeldung an ioBroker gegeben. Danach erfolgt der Shutdown.
#!/bin/bash # ioBroker-Datenpunkt auslesen DP=$(wget -qO- http://192.168.1.10:8082/getPlainValue/javascript.0.USV_Proxmox_ausschalten) # Wenn Datenpunkt für Shutdown gesetzt if [ $DP == 'true' ] then # Rueckmeldung an ioBroker senden curl http://192.168.1.10:8082/set/javascript.0.USV_Proxmox_Rueckmeldung?value="true" # kurz warten sleep 15 # System shutdown shutdown -h now fi
Ob man eine Rückmeldung haben möchte (z.B. für LOG-Eintrag oder pushover) bleibt frei. Auch wie man den Datenpunkt zum Shutdown setzt (z.B. per Blockly verzögert oder direkt über die USV).
Da muss ich den alten Thread mal wieder nach oben holen. Wie stellt ihr beim Systemshutdown sicher, dass keine Tasks im PVE (Backup o.ä.) laufen?
Ich kämpfe mich gerade durch die API vom PVE, denke aber, dass es vermutlich wesentlich einfacher geht.
-
@gutgut30 sagte in [Neuer Adapter] Proxmox VM:
Da muss ich den alten Thread mal wieder nach oben holen. Wie stellt ihr beim Systemshutdown sicher, dass keine Tasks im PVE (Backup o.ä.) laufen?
Ich weiß es nicht, denke aber, dass sich darum Proxmox / das Betriebssystem kümmert. Es werden alle VM und LXC sauber heruntergefahren und dann erst Proxmox.
-
@dr-bakterius said in [Neuer Adapter] Proxmox VM:
@gutgut30 sagte in [Neuer Adapter] Proxmox VM:
Da muss ich den alten Thread mal wieder nach oben holen. Wie stellt ihr beim Systemshutdown sicher, dass keine Tasks im PVE (Backup o.ä.) laufen?
Ich weiß es nicht, denke aber, dass sich darum Proxmox / das Betriebssystem kümmert. Es werden alle VM und LXC sauber heruntergefahren und dann erst Proxmox.
Das gilt aber leider nur für PVE oder(!) PBS. Wenn man beide Systeme auf dem gleichen Host hat, dann knallt der eine dem jeweils anderen die laufenden Aufgabe weg
-
Hallo zusammen,
gibt es die Möglichkeit die Logs irgendwie im VIS darzustellen ?
-
@dos1973 sagte in [Neuer Adapter] Proxmox VM:
Hallo zusammen,
gibt es die Möglichkeit die Logs irgendwie im VIS darzustellen ?
Moin,
nur für mich zum Verständnis, was willst Du denn genau?
Das Bild zeigt den Speicherort, wo Du die Backups abgelegt hast!Was verstehst Du jetzt unter Logs darstellen in einer VIS?
Welche VIS?
Was hat das mit dem AdapterProxmox VM
zu tun?VG
BerndP.S.: bitte mal lesen:
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge?_=1682486809000 -
@dp20eic
Ja sorry, ich gebe dir Recht ich habe mich Unglücklich ausgedrückt…Ich würde gerne die information zu den Backups meiner Maschinen in meiner VIS visualisieren.
Daher die Frage, ob diese Information welche ich in Proxmox sehe irgendwie in einem DP abbilden kann. -
@dos1973 sagte in [Neuer Adapter] Proxmox VM:
@dp20eic
Ja sorry, ich gebe dir Recht ich habe mich Unglücklich ausgedrückt…Ich würde gerne die information zu den Backups meiner Maschinen in meiner VIS visualisieren.
Daher die Frage, ob diese Information welche ich in Proxmox sehe irgendwie in einem DP abbilden kann.Moin,
wie gut kennst Du Dich aus?
Du könntest Dir ein Javascript, oder evtl. auch Blockly schreiben undProxmox
abfragen, wenn Du das in die Konsole vom PVE eintippst, sollte die von Dir gezeigte Liste kommen.root@Nuc10-pve:~# pvesm list ds218-pve --vmid 100
Den Output des Skripts dann als
json
in einen Datenpunkt schreiben und den Datenpunkt dann ich der VIS nutzen.VG
BerndEdit:
Hier ist die Dokumentation der API zu Proxmox, Proxmox-API, ob da auch das gesuchte mit dabei ist, kann ich nicht sagen, habe nicht weiter nachgeschaut. -
@dp20eic sagte in [Neuer Adapter] Proxmox VM:
@dos1973 sagte in [Neuer Adapter] Proxmox VM:
@dp20eic
Ja sorry, ich gebe dir Recht ich habe mich Unglücklich ausgedrückt…Ich würde gerne die information zu den Backups meiner Maschinen in meiner VIS visualisieren.
Daher die Frage, ob diese Information welche ich in Proxmox sehe irgendwie in einem DP abbilden kann.Moin,
wie gut kennst Du Dich aus?
Du könntest Dir ein Javascript, oder evtl. auch Blockly schreiben undProxmox
abfragen, wenn Du das in die Konsole vom PVE eintippst, sollte die von Dir gezeigte Liste kommen.root@Nuc10-pve:~# pvesm list ds218-pve --vmid 100
Den Output des Skripts dann als
json
in einen Datenpunkt schreiben und den Datenpunkt dann ich der VIS nutzen.VG
BerndDas könntest Du natürlich auch neben Javascript und Blockly auch noch mit NodeRed machen. - Nur so als Ergänzung.
-
@dp20eic
danke dir Konsole zeigt das Ergebnis.
hmm, ich hab zwar für meine Zwecke einige Blocklys erstellt
wüsste aber jetzt nicht wie ich anfange um Proxmox anzuzapfen,für die Infos@mickym
das wäre doch mal ein Projekt
mit deiner Hilfe sehr gerne auch mit Node-Red -
@dos1973 Na dann schau doch mal ob Du die Ausgabe mit dem iobroker als user bekommst oder sonst halt mit sudo. Das musst du ja in jedem Fall checken, egal ob Du Blockly, Javascript oder NodeRed verwendest.
also schau ob Du als iobroker user auch das Ergebnis bekommst
sudo -su iobroker
dann entweder
pvesm list ds218-pve --vmid 100
oder
sudo pvesm list ds218-pve --vmid 100
-
@dp20eic sagte in [Neuer Adapter] Proxmox VM:
Edit:
Hier ist die Dokumentation der API zu Proxmox, Proxmox-API, ob da auch das gesuchte mit dabei ist, kann ich nicht sagen, habe nicht weiter nachgeschaut.Es gibt wohl auch eine Node mit der man diese Proxmox API aufrufen kann. Aber ich kenn mich da nicht aus, wie man da diese Liste rausbekäme<