August 11, 20232 yr Hallo, um das Füllen meines Docker Images zu verhindern, möchte ich den storage.tsdb.path auf das (nach meiner Meinung dafür vorgesehene) '/prometheus/data'-Volume-Mapping ändern. Meine Versuche den Parameter in den Extra Parameters oder Post Arguments haben bisher nur zu Fehlermeldungen (Error loading config (--config.file=prometheus.yml)" file=/prometheus/prometheus.yml err="open prometheus.yml: no such file or directory") oder fehlerhaften Docker Runs (unknown flag: --storage.tsdb.path) geführt. Ich habe das Gefühld, dass ich etwas grundlegend falsch verstehe/mache. Vielen Dank schonmal
August 11, 20232 yr 25 minutes ago, machieser56 said: nach meiner Meinung dafür vorgesehene) '/prometheus/data'-Volume-Mapping ändern. per default ist das doch bereits mapped (show more ...) wenn du das meinst ... 26 minutes ago, machieser56 said: Ich habe das Gefühld, dass ich etwas grundlegend falsch verstehe/mache. entweder ja oder du meinst etwas anderes ...
August 11, 20232 yr Author Just now, alturismo said: per default ist das doch bereits mapped (show more ...) wenn du das meinst ... entweder ja oder du meinst etwas anderes ... Das Mapping ist leider nicht das Problem, das funktioniert wie erwartet. Das Problem ist, dass durch das verwendete Dockerfile (https://github.com/prometheus/prometheus/blob/main/Dockerfile) der Pfad der tsdb vom Standardwert(--storage.tsdb.path=/prometheus/data) auf "--storage.tsdb.path=/prometheus" gesetzt wird. Die Daten werden daher nicht in das gemappte Appdata Verzeichnis geschrieben.
August 11, 20232 yr 3 minutes ago, machieser56 said: Das Mapping ist leider nicht das Problem, das funktioniert wie erwartet. Das Problem ist, dass durch das verwendete Dockerfile (https://github.com/prometheus/prometheus/blob/main/Dockerfile) der Pfad der tsdb vom Standardwert(--storage.tsdb.path=/prometheus/data) auf "--storage.tsdb.path=/prometheus" gesetzt wird. Die Daten werden daher nicht in das gemappte Appdata Verzeichnis geschrieben. ok, verstanden, was auch immer das jetzt ist ... aber dann versuch mal folgendes, mappe einfach zusätzlich /prometheus zu /mnt/user/appdata/prometheus ob das klappt, es scheint ja keine Variable seitens des Dockers dafür zu geben ... kann auch sein dass der Docker dann nicht mehr startet, dann einfach den mount wieder entfernen ...
August 11, 20232 yr du kannst auch nicht einfach alles per Variable usw umsetzen, das muss der Docker schon hergeben ... wenn dann müsstest du an den Maintainer des Dockers gehen und anfragen ob er das umsetzt oder nicht ... dann ist noch die Frage ob das überhaupt Sinn macht was du da machst, ich meine die Daten /metric werden ja in eine Datenbank gesetzt die das effektiv verarbeitet, beispielsweise influx, grafana, ...
August 11, 20232 yr Author 5 minutes ago, alturismo said: ok, verstanden, was auch immer das jetzt ist ... aber dann versuch mal folgendes, mappe einfach zusätzlich /prometheus zu /mnt/user/appdata/prometheus ob das klappt, es scheint ja keine Variable seitens des Dockers dafür zu geben ... kann auch sein dass der Docker dann nicht mehr startet, dann einfach den mount wieder entfernen ... Hatte ich leider auch schon versucht, Docker startet dann nicht mehr. Die Fehlermeldung hat leider auch nicht mehr hergegeben. 2 minutes ago, alturismo said: du kannst auch nicht einfach alles per Variable usw umsetzen, das muss der Docker schon hergeben ... wenn dann müsstest du an den Maintainer des Dockers gehen und anfragen ob er das umsetzt oder nicht ... dann ist noch die Frage ob das überhaupt Sinn macht was du da machst, ich meine die Daten /metric werden ja in eine Datenbank gesetzt die das effektiv verarbeitet, beispielsweise influx, grafana, ... Wird wohl leider der einzige Weg sein. Die Sinnhaftigkeit ist meiner Meinung nach gegeben, da der tsdb-Pfad Standardwert eben genau auf das data Directory zeigt. Mein grundsätzliches Problem ist ja weiterhin, dass die tsdb Daten mein Docker Image füllen. Vielen Dank für die Hilfestellung, scheint zumindest nicht ein trivialer Denkfehler meinerseits zu sein.
August 11, 20232 yr 3 minutes ago, machieser56 said: Mein grundsätzliches Problem ist ja weiterhin, dass die tsdb Daten mein Docker Image füllen. also ich hatte den Docker ja auch mal genutzt wo ich noch Grafana genutzt hatte, aber das hier etwas in den Docker schreibt und dann auch noch so stark dass dies von Bedeutung wäre ... wäre mir jetzt komplett fremd ... normal wird ja alles was Platz braucht so angelegt dass dies eben "außerhalb" und persistent liegt ... bist du dir sicher dass du da ein Problem hast ? wenn ja, würde ich in den github gehen und ein issue aufmachen ... aber wenn ich mir anschaue wie viele das nutzen ... wundert es mich doch sehr ... selbst im github unter issues findet man hierzu nichts ...
August 11, 20232 yr Author 22 minutes ago, alturismo said: also ich hatte den Docker ja auch mal genutzt wo ich noch Grafana genutzt hatte, aber das hier etwas in den Docker schreibt und dann auch noch so stark dass dies von Bedeutung wäre ... wäre mir jetzt komplett fremd ... normal wird ja alles was Platz braucht so angelegt dass dies eben "außerhalb" und persistent liegt ... bist du dir sicher dass du da ein Problem hast ? wenn ja, würde ich in den github gehen und ein issue aufmachen ... aber wenn ich mir anschaue wie viele das nutzen ... wundert es mich doch sehr ... selbst im github unter issues findet man hierzu nichts ... Genau das wundert mich ja auch, bin eigentlich genau den Anweisungen in https://unraid.net/blog/prometheus gefolgt. Ich werde mal weiterhin die Größe des Docker Images beobachten. Vielleicht finde ich mein Problem wo anders. Finde es aber trotzdem seltsam das standardmäßig das Appdata-Volume-Mapping nicht genutzt wird. Die tsdb schreibt ja offensichtlich in das /prometheus Verzeichnis (laut Prometheus Command-Line Flags: --storage.tsdb.path=/prometheus). Falls ich etwas herausfinde melde ich mich. Vielen Dank nochmal für die Mühe.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.