NEWS
[gelöst] Grafana rederer mit Service Account
-
Hallo, ich habe gerade den Grafana rederer als docker image endlich mal zum Laufen gebracht.
Es funktioniert auch soweit alles nun möchte ich gerne Bilder im Javascript erzeugen lassen und per telegram versenden.Ich habe auch schon eine Anleitung gesehen, wo dies mittels eines API Keys möglich ist.
Nun im meinem Image (Grafana 9.5.2) werden diese nicht mehr unterstützt und es gibt so genannte Service accounts.
Darin wird ein Token erzeugt.Die Frage ist nun, wie kann ich auf dem ioBroker JS heraus das Rendern anstoßen und die Bilder versenden
-
Moin,
ich bin ja kein Freund von YT Videos, aber vielleicht hilft dir das ja, um das Prinzip zu verstehen.
https://www.youtube.com/watch?v=3H6tgjM_PbE
VG
Bernd -
@dp20eic Danke hat funktioniert.
Jetzt stellt sich mir nur noch die Frage, ob ich den Curl befehl brauche, oder ob es auch mit nem http request geht?
Oder Brauche ich den curl wegen dem beearer autentification?
Edit: ich brauche den ja zum erezugen des Bildes im Ordner, sonst bekomme ich ja nur die Bilddaten selber zurück.
Oder? -
@ben1983 sagte in Grafana rederer mit Service Account:
Edit: ich brauche den ja zum erezugen des Bildes im Ordner, sonst bekomme ich ja nur die Bilddaten selber zurück.
Oder?Moin,
kann ich Dir nicht sagen, da ich ja keine YT Videos schaue, schon gar nicht, wenn es sich um IT handelt
Soweit ich das aber verstehe, willst Du Dir ja immer das zum Zeitpunkt gültige Bild an Telegramm schicken lassen, daher geht das nur per
curl
, da Du ja in dem Augenblick die API vonGrafana
ansprichst und das Panel neu gerendert wird.Vielleicht weis hier noch einer mehr darüber, ich nicht.
Ich nutze kein Telegram usw. und mir etwas ans Telefon schicken tue ich auch nicht, ich schaue dann direkt ins Grafana oder meine Visu.Wenn Du
http
machst, dann ist es ja der normale Link zum Panel oder Dashboard, so wie Du es vielleicht in einer Visu nutzt, mittelsiFrame
oder so.Also, wenn da noch zweifle sind, entweder mal bei Google vorbeischauen oder warten, ob hier noch jemand mehr dazusagen kann.
VG
Bernd -
@dp20eic ich meinte einfach die render url, aber dann wird ja kein png erzeugt. schon ok.
-
@ben1983 sagte in Grafana rederer mit Service Account:
@dp20eic ich meinte einfach die render url, aber dann wird ja kein png erzeugt. schon ok.
Moin,
zwing mich nicht YT zu schauen
Was hast Du denn schon gemacht oder wo hakt es denn noch?
Zeig doch lieber, was Du machst, gemacht hast.VG
Bernd -
@dp20eic sagte in Grafana rederer mit Service Account:
Vielleicht weis hier noch einer mehr darüber, ich nicht.
Ich nutze kein Telegram usw.Kann helfen ...
Gugst du :
https://forum.iobroker.net/post/962671
https://forum.iobroker.net/topic/63833/gelöst-iobroker-telegram-versand-grafana-mittels-renderer
-
@glasfaser Ich habe es jetzt so gelöst:
// Verkleinert die Funktion des Sendens onMessage("RenderImage",(data,callback) =>{ // Breite abfragen => Default 1000 if(!data.width){ data.width = 1000; } // Bildpfad abfrage, sost standard if(!data.imagepath){ data.imagepath = '/opt/iobroker/temp/cam/Grafana1.png'; } // Id des Panels anhand des Bildes festlegen let panelId = 2; if(data.imagename === "Leistungsverlauf"){ panelId = 2; } else if (data.imagename === "Speicherverlauf") { panelId = 28; } // Zuweisen der Endzeit => default now() if(!data.end){ data.end = Date.now(); } // Startzeit zuweisen, wenn eine differenz angegeben wurde if(data.difference) { data.start = data.end - data.difference; } // Zuweisen der Startzeit => default vor 24 Stunden if(!data.start){ data.start = data.end - 24 * 60 * 60 * 1000; } // Image redern lassen const curlbefehl = `curl -H "Authorization Bearer glsa_5SZ6C35KTQaNjV1bsUuOPC1lRhQ2wtoE_31a522d1" "http://192.168.2.80:3010/render/d-solo/3Gu0sEU4k/pv-anlage-and-speicher?orgId=1&refresh=5s&from=${data.start}&to=${data.end}&panelId=${panelId}&width=${data.width}&height=500&tz=Europe%2FBerlin" > ${data.imagepath}`; exec(curlbefehl, function(err, stdout, stderr) { if (err) { callback(false); } else{ callback(true); } }); });
So kann ich mir flexibel ein Bild erzeugen lassen, mit variablen start und endzeiten.