Icingweb2 + InfluxDB +Grafana

This forum was archived to /woltlab and is now in read-only mode.
  • Hi,



    ich bin heute auf das Problem gestoßen, das die Queries von Grafana in PlainText an die Datenbank übergeben, so das jeder der sich im Grafana anmelden kann die Queries Manipulieren könnte. Kennt jemand eine möglichkeit diese Queries zu "verschleiern" ?





    Grüße

  • Moin,


    ich weiß nicht, ob ich das Problem korrekt verstanden habe. Dir geht es um die Queries die von Grafana an InfluxDB übergeben werden, richtig?


    Hast du in der Datenquelle unter Http Settings den Proxy Mode aktiviert? (Access = proxy) ?

  • ja, genau der Proxy mode ist aktiviert, dies verschleiert aber nur die credentials... jeder könnte sich so diese URL kopieren und manipulieren.

  • Puh, ich weiß nicht ob das möglich ist die Queries zu verstecken/verschleiern. Irgendwie muss Grafana übergeben werden welche Daten, in welchem Zeitraum abgefragt werden sollen.


    Es handelt sich ja dabei nur um SELECT Queries und nicht um Daten die zurück in die Datenbank geschrieben werden. Ich sehe da jetzt kein allzu großes Problem drin. Und wenn die User tatsächlich die Queries manipulieren erhalten sie doch sowieso nur Zugriff auf etwas, dass sie sowieso sehen können in Grafana.


    Vielleicht hat Mikesch noch eine Idee, er ist ja sozusagen ein wahrer Grafana Profi :)

  • Naja, es ist ja so ,das nicht jeder User auf alle Daten zugreifen soll, Kunden z.B. müssen nicht unbedingt auf alle Daten zugreifen können ;-).


    Und wenn man in der Datenbank, gerade Version 1.2 oder lower einen Admin user für die ganze geschichte einrichten muss kann man kann schnell auch über die Grafana URL schreiben. Dafür musst du nur etwas die URL anpassen von;

    MyHost:3000/api/datasource/proxy/1/query?db=myDB&q=show%20measurements&epoch=ms

    zu

    MyHost:3000/api/datasource/proxy/1/write?db=myDB&q=create%20database%20testDB


    das ist weniger schön, zwar ist das Problem mit den Admin rechten in der neuen Versio nder InfluxDB gefixed aber das andere Problem besteht noch immer.

  • Das mit den Kunden habe ich gerade tatsächlich nicht bedacht. Als Lösung würde mir da nur einfallen für jeden Kunden eine eigene InfluxDB-Datenbank und in Grafana die Trennung durch die Zuordnung verschiedener Organisationen. Das Problem dürfte hier viel mehr Icinga Web 2 sein, welches AFAIK nicht mandantenfähig ist.

  • Diese Idee hatte ich auch schon, hatte aber gehofft, es würde eine andere möglichkeit geben

  • Sollen die Mandanten denn in Grafana rum spielen dürfen oder nur die Graphen in Icingaweb2 sehen? Solange du sie nicht auf Grafana direkt los lässt und nur den Proxy mode benutzt sehen sie weder die Grafana URL noch irgendwelche Influx Queries. Trennung der Mandanten kannst du dann über die filter in den Rollen von Icingaweb2 machen, an diese hält sich auch das Grafana Module von mir.


    Grüße,

    Carsten

  • Das mit den Kunden habe ich gerade tatsächlich nicht bedacht. Als Lösung würde mir da nur einfallen für jeden Kunden eine eigene InfluxDB-Datenbank und in Grafana die Trennung durch die Zuordnung verschiedener Organisationen. Das Problem dürfte hier viel mehr Icinga Web 2 sein, welches AFAIK nicht mandantenfähig ist.

    Icingaweb2 ist sehr wohl mandantenfaehig ... Ich habe über 50 Mandanten und von denen sieht jeder nur seins.

  • Solange die Kunden nicht auf Grafana zugreifen müssen finde ich den Lösungsvorschlag von Mikesch sehr gut. Wenn der Link zu Grafana im Grafana Modul noch deaktiviert wird über die Konfiguration gibt es tatsächlich für die Kunden keinen Anhaltspunkt mehr zu Grafana oder zu einer Abfrage an Grafana/InfluxDB.

    Danke für den Hinweis :) Werden die Berechtigungen bzw. die Sichtbarkeit auch in den Director transportiert?

  • Hi Danke schonmal für die vielen Rückmeldungen, geplant war eigentlich, das auch die Kunden weiter ins Grafana können und dort die Grafen mit hilfe von Dropdowns verfeinern zu können, oder mehrere Graphen übereinander gelegt zu sehen etc..