Falc410
Vice Admiral
- Registriert
- Juni 2006
- Beiträge
- 6.723
Ich bin leider ein absoluter Grafana Anfänger. Betreiben es an einer Elasticsearch Datenbank.
Dort habe ich mehrere Einträge und Feld ist (fiktives Beispiel) Farben. Da kann ich ähnlich wie bei Tags eine Liste zuweisen und in Elastic wird das als Array gespeichert. Die Einträge könnten dann z.B. folgendermaßen aussehen (JSON natürlich):
_index: test _id: 1 farben: ["Rot", "Grün"]
_index: test _id: 2 farben: ["Rot"]
_index: test _id: 3 farben: ["Blau", "Grün"]
Jetzt würden wir in Grafana gerne zählen wie oft "Rot" oder "Blau" oder "Grün" vorkommt. Problem ist aber, dass Grafana die Werte aus einem Array nicht aufsplittet. Das heißt in diesem Beispiel wären es 3 verschiedene Werte und nicht Rot: 2, Blau: 1, Grün: 2
Kurze Suche mit Google sagt wohl, dass das nicht geht. Vorschlag von meinem Kollegen, wir legen 3 Felder an, für Rot, Grün, Blau und speichern das alles einzeln. Grundsätzlich kein Problem, nur ist die Anzahl der Farben theoretisch unlimitiert. Haben uns dann überlegt ob wir einfach nur die Top 5 auswerten und 5 Felder in der Datenbank anlegen. Finde ich aber ziemlich unschön aus Backend-Sicht
Hat da jemand eine bessere Idee?
Dort habe ich mehrere Einträge und Feld ist (fiktives Beispiel) Farben. Da kann ich ähnlich wie bei Tags eine Liste zuweisen und in Elastic wird das als Array gespeichert. Die Einträge könnten dann z.B. folgendermaßen aussehen (JSON natürlich):
_index: test _id: 1 farben: ["Rot", "Grün"]
_index: test _id: 2 farben: ["Rot"]
_index: test _id: 3 farben: ["Blau", "Grün"]
Jetzt würden wir in Grafana gerne zählen wie oft "Rot" oder "Blau" oder "Grün" vorkommt. Problem ist aber, dass Grafana die Werte aus einem Array nicht aufsplittet. Das heißt in diesem Beispiel wären es 3 verschiedene Werte und nicht Rot: 2, Blau: 1, Grün: 2
Kurze Suche mit Google sagt wohl, dass das nicht geht. Vorschlag von meinem Kollegen, wir legen 3 Felder an, für Rot, Grün, Blau und speichern das alles einzeln. Grundsätzlich kein Problem, nur ist die Anzahl der Farben theoretisch unlimitiert. Haben uns dann überlegt ob wir einfach nur die Top 5 auswerten und 5 Felder in der Datenbank anlegen. Finde ich aber ziemlich unschön aus Backend-Sicht
Hat da jemand eine bessere Idee?