Telegraf Config permission denied, warum?

2 Antworten

wenn für Verzeichnis /etc/telegraf/ keine Leserechte bestehen ist es gleichgültig, welche Rechte für Datei /etc/telegraf/telegraf.conf in dem Verzeichnis gesetzt wurden.

Ansonsten kann strace ein Hilfe sein, da es in mehr Detail anzeigt, welche Operation auf welchen Dateien fehlgeschlagen ist.

Manche Programme mögen es auch nicht, wenn *zu viele* Rechte gegeben wurden, wie z.B. Les-, Schreib und Ausführrechte für alle - allerdings ist die Fehlermeldung dann meist eine andere.

Ausserdem sollten die Rechte der vom config file referenzierten Dateien auch so sein, dass Zugriff möglich ist - eventuell wird der config file lediglich als Name der Datei, welche die Ursache enthält, und nicht Zugriff auf die Datei selbst als Fehler angegeben.

Woher ich das weiß:Berufserfahrung – LPI zertifiziert

Niriuqq 
Beitragsersteller
 15.01.2023, 16:59

Ich habe die gleichen Rechte auch dem Ordner telegraf gegeben.

Das Docker file starte ich immer so:

sudo docker-composer up

Also kann es demnach auch sein das telegraf.conf nicht richtig funktioniert?

0
Niriuqq 
Beitragsersteller
 15.01.2023, 17:03
@Niriuqq

telegraf.config sieht folgendermasen aus:

  [global_tags]


[agent]
  interval = "60s"
  round_interval = true
  metric_batch_size = 1000
  metric_buffer_limit = 10000
  collection_jitter = "0s"
  flush_interval = "10s"
  flush_jitter = "0s"
  precision = ""
  hostname = "192.xxx.0.xxx"
  omit_hostname = false


[[outputs.influxdb]]
  urls = ["http://influxdb:8086"]
  database = "influx"
  timeout = "5s"
  username = "telegraf"
  password = "metricsmetricsmetricsmetrics"




[[inputs.cpu]]
  percpu = true
  totalcpu = true
  collect_cpu_time = false
  report_active = false




[[inputs.disk]]
  ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]




[[inputs.diskio]]


[[inputs.kernel]]


[[inputs.mem]]


[[inputs.processes]]


[[inputs.swap]]


[[inputs.system]]
0

bist du in der Gruppe vmadmin ?
Du hast zwar mit -rwxrwxrwx allen Ausführungsrechte gegeben. Es gibt aber Programme, die prüfen am Betriebssystem vorbei, nochmal selbst solche Zugehörigkeiten.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995

Niriuqq 
Beitragsersteller
 15.01.2023, 16:55

Beim starten der composer Datei gebe ich einfach folgenden Befehl ein: sudo docker-composer up, muss dann der root Benutzer in dieser Gruppe sein?

0
guenterhalt  15.01.2023, 18:04
@Niriuqq

telegraf ist doch bestimmt ein Programm, das zur Kommunikation vorgesehen ist.

Um Sicherheit zu gewährleisten, darf so ein Programm nicht mit Superuser-Rechten laufen.
sudo macht das aber und es sollte verhindert werden.

Probiere doch einfach mal das sudo wegzulassen.

Es ist bei Ubuntu-Useren eine Unsitte geworden, alles mit sudo auszuführen. Damit werden oft auch der Besitzer einer Datei oder eines Directories den Superuser zugeordent. Das bringt viele Dinge durcheinander.

0
Niriuqq 
Beitragsersteller
 15.01.2023, 19:30
@guenterhalt

Leider kommt immer diese Meldung, wenn ich ohne sudo eingebe:

ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

0
guenterhalt  16.01.2023, 12:14
@Niriuqq

dein Programm erwartet offensichtlich, dass, z.B. schon beim Booten ein deamon gestartet wurde. Das ist ein Programm, das im Hintergrund (Untergrund) läuft und auf Anfragen reagiert.
Ich haben mich nie mit Docker beschäftigt, nehme aber an, dass hier das Server-Client-Prinzip benutzt wird.
Der hier nicht gefundene deamon ist dann der Server, dein Programm, das sich nicht verbinden kann, der Client.

Sicher findest du Anleitungen, wie der unter Ubuntu gestartet werden kann.

0