"Panel-als-Bild" funktioniert nicht mehr

Clemens berichtet über Probleme bei der Bildanzeige, bzw. der Generierung / Export von statischen Bitmaps aus individuellen Grafana Panels.

Auf weather.hiveeyes.org scheint es wie gewohnt zu funktionieren (neueres Grafana?), auf swarm.hiveeyes.org jedoch nicht (uraltes Grafana!).

@wtf / @Andreas Wir sind gerade dabei eine Nachfolgeausstellung des documenta-Exponats im Zeppelin-Museum Friedrichshafen vorzubereiten: Kryptomania - Kulturstiftung des Bundes. Dafür wollte ich “kurz mal” die RasPis testen, leider scheint ein Teil der Maschinerie nicht mehr zu funktionieren. Der Link oben gibt kein einzelnes Panel aus, sondern ein komplettes dashboard. Habt ihr eine Ahnung was da schief läuft?

Ich dachte die kaputte Funktion hängt irgendwie mit den Hive-IDs oben im panel zusammen, ist aber nicht so!

Das Panel von Peter funktioniert auch nicht. Der “normaler” Grafana-Link für ein einzelnes panel tut:
https://swarm.hiveeyes.org/grafana/d/msb_RsmGz/open-hive-peter-hive-2?orgId=2&from=1647298800000&to=1648591200000&panelId=1&fullscreen
der (von Grafana generierte) Link liefert aber auch, genauso wie die documenta-Links, ein falsches gerendertes image und zwar nicht ein image des gewünschten Einzel-Panels, sondern ein image der Grafana-Startseite: https://swarm.hiveeyes.org/grafana/render/d-solo/msb_RsmGz/open-hive-peter-hive-2?orgId=2&from=1647298800000&to=1648591200000&panelId=1&width=1000&height=500&tz=Europe%2FBerlin

Scheint somit ein generelles Problem unserer Installation zu sein, gibt es irgendwo error messages / logs wo man ggf. genauer schauen kann, vielleicht hat Grafana selbst ja schon Hinweise, siehe Set up image rendering | Grafana documentation

ping @wtf @Andreas

Früher ging das wohl mal, ja:

Das “Share Panel” gibt auch noch die entsprechenden Links raus, ja:

Aber sie funktionieren nicht mehr. Stattdessen wird die Startseite gerendert, korrekt.

Grundsätzlich lassen sich die Panels aber noch einzeln adressieren, siehe z.B. Imkerliche Daten » Berlin KH » Temperature.

1 Like

All das Beschriebene funktioniert noch auf weather.hiveeyes, dort ist aber auch ein Grafana 9.x installiert, auf swarn ein Grafana 6.x, das seit mehr als einem halben Jahr auf Version 9 sein sollte… Wie schon an anderer Stelle beschrieben, arbeitet seit Grafana 7 ein anderer renderer unter der Haube; möglicherweise sind das inzwischen Inkompatibilitäten zur alten Grafana-Version.

Der kotori-Bildexport funktioniert aber immer noch af swarm: (z.B. https://swarm.hiveeyes.org/api/hiveeyes/zku/paxcounter/bauschilderung/data.png?renderer=ggplot&from=now-120d&to=now-110d&include=pax)

1 Like

Danke für eure Recherche, habt ihr eine Idee warum es früher mal ging und nun nicht mehr? Mein posting oben – mit dem damals funktionierenden Link – war von Juni 2022, ich hatte schon eine neue Grafana-Version im Verdacht, nun scheint es die aber nicht zu sein, ganz im Gegenteil.

Testweise habe ich mal ein komplett neues dashboard angelegt: Grafana bringt aber auch nichts, gleiches Problem.

Ja, die Einzelpanels gehen noch, wir hatten das image rendering damals aber bevorzugt, da der parallele Abruf von vielen panels damals kritischer war als das rendern von images. In Friedrichshafen sind es nun deutlich weniger Bildschirme, daher könnte man es theoretich nochmal versuchen. Lieber wäre mir eine sichere Version, die schon mal funktioniert hat, nämlich das rendern als Grafik. Seht ihr noch eine Chance das wieder auf swarm hinzubekommen? Ausstellungseröffung ist Mitte Dezember, Presserundgang am 13.12.2023!

Da die Grafik-Generierung auf weather funktioniert, habe ich in einer Verzweiflungstat gerade versucht das dashboard von swarm auf weather zu kopieren: Die dashboard-Settings das JSON Model von “documenta: Stockübersicht & Bienenwetter” auf swarm in die Zwischenablage kopiert und auf weather ein neues dashboard erstellt und da auch wieder über die settings versucht das JSON einzufügen, geht aber nicht! Als Fehlermeldung kommt [edit] “Dashboard datasource not found”!

Kann natürlich jetzt alles sein, irgendwelche swarm-spezifischen IDs, Inkompatibilität der unterschiedlichen Grafana-Versionen usw. Hat so was schon jemand versucht und hat Tips / Infos, ob es überhaupt geht und was man beachten müsste.

Wir hatten doch nach einer Änderung Probleme beim redirect, irgendwas mit nicht einloggen können oder login-promt trotz eingeloggt sein … könnte irgendein nicht oder falsch funktionierendes redirect / URL-Umschreibung schuld sein, warum die Grafikerstellung nicht tut?

Als workaround ist aktuell geplant die screenshots erst mal händisch zu machen und nicht autogeneriert, die dann auf dem beedao-Server abzulegen und gelegentlich zu aktualisieren statt täglich neu und automatisch generieren zu lassen.

Ah, beinahe übersehen. Danke für den Bump.

Hm, ja. In einer anderen, perfekteren Welt, hatte ich geplant, das zum Anlass zu nehmen, endlich das langersehnte ! Grafana Update auf "swarm.hiveeyes.org"! durchzuziehen.

Tut mir leid.

Ja. Die Lösung ist wahrscheinlich einfach. Kann @wtf oder @weef helfen?

Na gut. Sicher? Für einen “Screenshot” müssen wir nun nicht unbedingt Grafana selber verwenden.

Es geht darum, ein Bitmap Image der Darstellung »Gewicht und Gewichtsdifferenzen pro Tag« zu erzeugen, korrekt? Oder noch irgendwie anders / mit URL als Template, und konfigurierbarer Belegung, um mehrere Bilder für verschiedene Kanäle rendern zu können?

OK. Deins habe ich gerade gelöscht und es unter Föderiertes neu angelegt. Das JSON-Modell des ganzen dashboards ließ sich prima einfügen.

Doch, es geht, aber die Fehlermeldung lautet “datasource not found” , und das kann man ihm nich verdenken: wenn als datasources im Original “-- mixed --” verwendet wird und eine davon WETTERDATEN heißt, dann kann der das nicht umsetzen auf den richtigen Namen auf der Zielmaschine, das mußt Du da schon händisch anpassen.

Wichtiger im Moment allerdings ist folgendes: wenn man das angepaßt hat auf die passenden Datenquellen, das gibt es einen “Influx DB error: Bad gateway” für diejenigen, die von swarm geholt werden müssen, die federation klappt also leider gerade nicht.

bad gateway auf weather

Bad Gateway
Object
message:“InfluxDB Error: Bad Gateway”
data:Object
message:“Bad Gateway”
error:“Bad Gateway”
response:“”
config:Object
method:“POST”
url:“api/datasources/proxy/28/flux/api/v2/query?org=undefined”
params:Object
data:“from(bucket: "")
|> range(start: -7d)
|> filter(fn: (r) =>
r._measurement == "documenta_hive_01_sensors" and
r._field == "weight"
)
|> derivative(unit: 1d, nonNegative: false)
|> aggregateWindow(every: 1d, fn: mean)
|> timeShift(duration: -1d)
|> filter(fn: (r) =>
r._value <= 0.0
)
|> map(fn: (r) => ({
_time: r._time,
_value: r._value,
_field: "Differenz minus"
}))”
precision:“ms”
inspect:Object
headers:Object
retry:0
hideFromInspector:false

Daß dies so zutrifft, kann man auch bei Umwelt / Bienenwetter: freiLand Potsdam sehen: das Gewichtspanel links oben kann seine Daten ebenfalls nicht von swarm holen und zeigt daher im roten Dreieck “bad gateway” an.

Du müßtest also in diesem panel die datasources auf die, von weather aus gesehen, ‘passenden’ umstellen, und @Andreas müßte bitte mal schauen, warum die Maschinen im Moment nicht federaten.

2 Likes

Danke @weef für das rüberkopieren des dashboards. Nun schaue ich gerade beim panel swarm / Systemüberwachung da steht als datasource hiveeyes_beecoin bei weather finde ich die DB gar nicht. Oder ist das schon das Problem was gerade Andreas beackert hat?

ja, da hänge ich auch gerade - es is die beecoin, die der (lokal) nicht finden kann. Nun kann der zwar über “InfluxDB/Flux@swarm” als Datenquelle auf swarm zugreifen, ich kenne aber nicht den syntax, der ermöglicht, hier hiveeyes_beecoin zu adressieren. Vielleicht kann @wtf hier weiterhelfen?

1 Like

Haben wir jetzt erst einmal so gelöst, da morgen die Presse kommt, und heute lief das vor Ort wohl schon gut! Kein Live-Daten, sind im Winter eh nicht so spannend für Laien.

2 Likes

Hm. Eine von zwei Ideen soweit: Gucken ob dit render-plugin länger nicht geupdatet wurde. Dit war der Fall, hat aber auch nicht geholfen.

Die andere: Dumpf muss ich an ne Mechanik denken, die @Andreas mal auf weather. einführte, damit eine bestimmte Welcome-page geladen wird. (Kriege grad nicht zusammen warum das Sinn ergab.) Dazu gibts dort nen ReDirect in der nginx.conf – aber auf swarm. kann ich keinerlei Äquivalent finden.

1 Like

Liefen wa auf swarm. “schon immer” auf OrgId=2? Mich dünkt, dass sich das erst “jüngst” inden letzten niedrig einstellig Jahren änderte. Euch auch?

Komme grad auf die Fährte wo ick im grafana-log unmittelbar nach dem (soweit fehlerfreien) Eintrag zum render-request, drei fehlschlagende logging-requests sehe, wo die OrgId “Undefined” lautet.

t=2023-12-15T12:43:51+0100 lvl=info msg=Rendering logger=rendering renderer=plugin path="d-solo/cx_KOvH7k/documenta-stockubersicht-and-bienenwetter?orgId=2&from=1702035774604&to=1702640574604&var-beekeeper=hiveeyes_beecoin&var-measurement=documenta_hive_01_sensors&var-COMMON_CDC_NAME=Schauenburg-Elgershausen&var-COMMON_MOSMIX_NAME=SCHAUENBURG-ELGERSH.&var-STATION=Schauenburg-Elgershausen&panelId=31&width=1000&height=500&tz=Europe%2FBerlin"
t=2023-12-15T12:43:53+0100 lvl=info msg=Requesting logger=data-proxy-log url="http://localhost:8086/api/v2/query?org=undefined"
t=2023-12-15T12:43:53+0100 lvl=info msg=Requesting logger=data-proxy-log url="http://localhost:8086/api/v2/query?org=undefined"
t=2023-12-15T12:43:53+0100 lvl=info msg=Requesting logger=data-proxy-log url="http://localhost:8086/api/v2/query?org=undefined"

So was wäre auch meine Vermutung, hatte ich ja oben schon etwas wolkiger als @wtf hier angedeutet, hat ja auch mal funktioniert und warum wird gerade die Startseite gerendert? Sprich rendering funktioniert, auch die Parameter wie width oder height werden 1a berücksichtigt, nur der eigentliche content nicht und ich vermute da auch ganz stark ein redirect, das da reinpfuscht. Beim Suchen im Netzt habe ich so ein Verhalten auch nicht gefunden, es sind immer Fehlermeldungen bei denen das Rendering komplett kaputt ist, daher vermute ich zu 99 % einen Spezialfall, der nur bei uns auftritt und kein allgemeines Problem von Grafana / der rendering engine.

Könnte ich gerade gewesen sein, ich hatte die org-ID gerade testweise bei einem Aufruf geändert. Falls es nur jetzt einmalig auftritt war ich es!

Zumindest vorgestern war die Orgid auch schon Zwo.

Zu documenta-Zeiten war die orgId auch schon 2, gerade in einer E-Mail vom Juni 2022 gefunden:

https://swarm.hiveeyes.org/grafana/render/d-solo/cx_KOvH7k/documenta-
stockubersicht-and-bienenwetter?orgId=2&from=now-100d&to=now&var-
beekeeper=hiveeyes_beecoin&var-
measurement=documenta_hive_02_sensors&var-
COMMON_CDC_NAME=Schauenburg-Elgershausen&var-
COMMON_MOSMIX_NAME=SCHAUENBURG-ELGERSH.&var-
STATION=Schauenburg-Elgershausen&panelId=31&width=1280&height=1024

Und da lief es noch, oder bis wann reicht der letzte bekannt gute Zustand?