Grafana: Annotationen direkt in der Datenbank manipulieren

Frage

Wie bekomme ich meine mühsam erstellten, ursprünglich interaktiv angelegten Annotationen in andere Panels oder sogar in ein anderes Dashboard.

Details

Man kann den Umzug direkt durch Manipulation der IDs in der Datenbank gestalten. In unserem Fall reichte es, alle Annotationen eines spezifischen Dashboards (hier: id=550) zusätzlich mit dem bereits vorhandenen Tag ("libero") zu versehen.

Dadurch stehen die Annotationen wie gewohnt am ursprünglichen Ort nur innerhalb des Panels zur Verfügung, zusätzlich nun aber auch über die Ansteuerung durch entsprechende Tag-gefilterte Annotationsabfragen global im Grafana, siehe auch Interaktiv im Grafana erzeugte Annotationen zwischen verschiedenen Panels und Dashboards teilen.

Antwort

sqlite3 /var/lib/grafana/grafana.db

Alle Annotationen eines Dashboards abfragen und mit tag belegen.

INSERT INTO annotation_tag (annotation_id, tag_id) 
  SELECT id AS annotation_id, (select id FROM tag WHERE key="libero") AS tag_id 
  FROM annotation WHERE dashboard_id=550;

Tag-Belegung rückgängig machen.

DELETE FROM annotation_tag 
WHERE annotation_id IN (SELECT id FROM annotation WHERE dashboard_id=550);

ACHTUNG: Diese SQL-Abfrage löscht so alle Tags aus allen Annotations eines Dashboards.

Ergebnis am Beispiel.


Teststand » FiPy Testbench Power

Zoom

image
Teststand » FiPy Testbench Power