Interaktiv im Grafana erzeugte Annotationen zwischen verschiedenen Panels und Dashboards teilen

Nachdem wir uns Annotationen im Grafana bereits bei Annotationen im Grafana über die HTTP/MQTT API und Ereignisse interaktiv im Grafana annotieren gewidmet hatten, sind wir immer noch nicht ganz zufrieden.

Was wir uns unter anderem wünschen, sind interaktiv erzeugbare self-service Annotationen (plus Ändern plus Löschen), die a) auf mehreren Panels zu sehen sind und die b) auch nicht zwingend pro-Dashboard sein sollten, damit sie b.1) beim Kopieren nicht verlorengehen und b.2) auch zwischen Dashboards regulär “geteilt” werden können.

Einverstanden?

Stellt sich raus – das geht bereits. Und zwar, indem man die Filterung auf “nach Tags” statt “nach Dashboard” umstellt. So:

image


Rausgefunden über events - Displaying annotations in grafana in a tabular form - Stack Overflow.

Q&A: Ja, die Tags sind scheinbar Grafana-global. Mindestens Orga-weit. Noch nicht genau erforscht.

Wenn man dieses Feature also so nutzen will, sollte man überlegen, dass man für eine eindeutige Zuordnung zum eigenen Scope an dieser Stelle hinreichend qualifizierende Tags verwendet, z.B. 1:1 die vollqualifizierende Knoten-ID, z.B. "cortex-m0-testbench-one" – selbst wenn diese lang werden kann.

Dafür wiederum wäre es nett, wenn es beim Anlegen einer Annotation die Möglichkeit gäbe, die Tags aus einer Liste von vorhandenen auszuwählen, damit man das relevante Tag weder tippen noch es sich merken muss.

image

Jetzt aber:

sqlite3 /var/lib/grafana/grafana.db
sqlite> .schema tag
CREATE TABLE `tag` (
  `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
  `key` TEXT NOT NULL, 
  `value` TEXT NOT NULL
);
CREATE UNIQUE INDEX `UQE_tag_key_value` ON `tag` (`key`,`value`);

Also: Tags sind absolut Grafana-global.