NEWS
[gelöst]Wie Grafana snapshot erstellen?
-
Ja habe ich. Ein exec block mit dem Befehl wget — docmunet..... funktioniert um Screenshots von meinen Kameras zu speichern.
Gibt es noch einen anderen Weg den Befehl ausführen zu lassen?
-
wenn du das fixer script angewendet hast, könntest du das exec() blockly mal mit sudo testen
man könnte auch den terminal adapter installieren und darin die befehle testen um fehlermeldungen zu sehen - oder du arbeitest mit ergebnissen im exec-blockly um evtl. fehlermeldungen zu analysieren
-
ok danke ich werde es heut abend testen
-
ich vermute das es ein Rechte Thema ist. In Putty kann ich den Befehl nur als root ausführen, als normaler Benutzer kommt selbst mit sudo vor dem Befehl --> keine Berechtigung.
Im Terminal adapter hätte ich den ganzen Befehl eintippen müssen, oder gibt doch eine Möglichkeit etwas rein zu kopieren?
Ich konnte mich noch nicht weiter aufschlauen was genau das sudo fixer script ist. Würde mir das helfen?
-
du schreibst in das root directory - das wird evt. das problem sein - curl allein ist eigentlich mit jedem user ausführbar
am ende deines befehles wähle mal ein anderes verzeichnis - eines mit rechten für jederman
zur not mach dir eines :
cd /opt
mkdir testbild
chmod 777 testbildändere deinen befehl am ende um:
statt " > /home/iobroker/temperatur2.png" nehme "> /opt/testbild/temperatur2.png" -
Ich weiß noch wie ich den wget Befehl erstellt habe um Bilder von meinen Kameras zu speichern, konnte ich nicht in das Verzeichnis /opt/iobroker/ schreiben. Deswegen habe ich dort /home/iobroker/ verwendet.
Deswegen sollte /home/iobroker/ auch mit curl gehen, oder? Aber ich probiere heute Abend dein Tipp mal aus. Danke.
-
@saeft_2003
eigentlich schon - aber ein versuch schadet ja nicht - ich sehe sonst in diesem befehl keine berechtigungsprobleme -
oder du hast die gleichen Probleme wie ich.. der iobroker user darf nicht in das verzeichniss speichern
musst du dem rechte geben
-
ich wollte nicht die rechte auf den ordner /home/iobroker ändern - deshalb einen neuen ordner mit vollen rechten für alle - zum test
-
@saeft_2003 kann es sein das du das hier nicht deaktiviert hast?
wenn das so eingestellt ist, sollte auch
funktionieren und holt sich dann den aktuellen Stand -
@liv-in-sky sagte in Wie Grafana snapshot erstellen?:
du schreibst in das root directory - das wird evt. das problem sein - curl allein ist eigentlich mit jedem user ausführbar
am ende deines befehles wähle mal ein anderes verzeichnis - eines mit rechten für jederman
zur not mach dir eines :
cd /opt
mkdir testbild
chmod 777 testbildändere deinen befehl am ende um:
statt " > /home/iobroker/temperatur2.png" nehme "> /opt/testbild/temperatur2.png"Das war die Lösung! Neuen Ordner mit den Rechten 777 angelegt und schon geht der curl Befehl in Blockly. Vielen Dank für den Tipp!!!
@arteck ja sieht wohl so aus als hätte ich das gleiche Problem wie du, aber die Lösung war dann doch relativ einfach.
@crunchip doch das habe ich deaktiviert
Vielen Dank an alle!
-
@saeft_2003 sagte in Wie Grafana snapshot erstellen?:
doch das habe ich aktiviert
nicht aktivieren, du musst es ausschalten
-
sorry ich meinte deaktiviert.
-
@saeft_2003 ist mir grad so eingefallen, du warst es doch mit der Grafana version 6.2.2 da hatte ich dir ja geschrieben, das ein paar Sachen, zwecks Sicherheit iframe...etc geändert wurde...wahrscheinlich muss noch etwas an der Einstellung bei dir geändert werden
-
ja das war ich, im log hatte ich gesehen das er die Organisation nicht findet. Deswegen habe ich diese nochmal geändert und seitdem funktioniert iframe wunderbar
-
Hallo,
versuche gerade exakt das selbe, möchte mir über Telegram ein gerendertes Bild aus Grafana schicken, sobald ich "Klimaverlauf" meinem Telegram Bot schreibe, bisher leider ohne Erfolg.
Im Text2Command habe ich eingerichtet, dass sobald ich Klimaverlauf schreibe, ein bestimmter Datenpunkt auf true geändert wird und somit mein Blockly Script ausgeführt wird.
Das Skript sieht so aus.
Der Exec Befehl sieht so aus:
curl -H "Authorization: Bearer eyJrIjoiVlJyYmoyNXpja2U2OVk1dnNvaktuZDk3TEFyODXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=" http://192.168.XXX.XX:8082/proxy.0/grafana/render/d-solo/nISKbEZRk/raumklima?orgId=1&refresh=1m&panelId=12&width=1000&height=500&tz=Europe%2FBerlin > /opt/grafana/klimaverlauf.png
Das Grafana Verzeichnis hat 777 Rechte, dort wird auch eine Datei mit dem Namen Klimaverlauf.png erstellt, sobald ich das Skript triggere, allerdings ist die Datei 0kb groß.
Im Log finde ich folgende 2 Meldungen:web.0 2019-09-15 13:17:20.114 error [proxy] Cannot get "http://192.168.XXX.XX:3000": Error: socket hang up telegram.0 2019-09-15 13:17:10.267 error Cannot send photo [chatId - 283259026]: Error: ETELEGRAM: 400 Bad Request: file must be non-empty
Hat jeman eine Idee, woran es liegt? Hängt das möglicherweise mit dem Proxy zusammen, über den Grafana läuft?
-
Ich kann dir heute Abend mal mein Skript posten das bei mir funktioniert. Die Frage mit dem Proxy kann ich dir leider nicht beantworten...
-
@saeft_2003 Das wäre super, vielleicht hilft mir das ja weiter.
-
@ein-michael sagte in [gelöst]Wie Grafana snapshot erstellen?:
@saeft_2003 Das wäre super, vielleicht hilft mir das ja weiter.
Also was ich bei mir habe ist eine Wartezeit zwischen dem speichern von dem Snapshot und dem verschicken per telegram. Versuch das doch mal...
Das ist mein curl Befehl der geht:
curl -H "Authorization: Bearer eyJrIjoidm4xSTxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=" "http://192.xxx.xxx.xxx:3000/render/d-solo/wP1rmPnZk/temperatur?orgId=1&refresh=1m&from=now-7d&to=now&panelId=4&width=1920&height=1080&tz=Europe%2FBerlin" > /opt/grafanacharts/temperatur.png
-
@saeft_2003 Super, hat mir geholfen!
Der Fehler lag daran, dass ich vor dem http kein Anführungszeichen hatte, jetzt läuft alles wunderbar. Dankeschön!Edit: Ohne Timeouts funktioniert das Ganze aber auch nicht. Mit viel Ausprobieren und Timeouts zwischen den Befehlen ist es mir nun gelungen per Telegram auf Anfrage 2 Bilder aus Grafana zu schicken.