docs: ACL-Loesung fuer User-Home-Logs + Glob-Muster dokumentiert
This commit is contained in:
1 parent
3c0c800f90
commit
5a213eb580
1 file changed
+29
@@ -87,6 +87,35 @@ Jede Serie trägt ein `path`-Tag, damit man in Grafana nach Datei filtert. Über
|
||||
|
||||
**Zusätzlich** wird die `CustomLog`-Direktive aus `/etc/apache2` bzw. `/etc/httpd` ausgewertet — die verlässlichste Quelle, `${APACHE_LOG_DIR}` wird aufgelöst.
|
||||
|
||||
### Leserechte: der stille Killer
|
||||
|
||||
Auf x22 waren **64 von 84 Logpfaden für `telegraf` unlesbar** — `inputs.tail` meldet das **nicht**, es liefert einfach nichts, und der Node sieht „aktiv" aus. Zwei verschiedene Rechte-Welten:
|
||||
|
||||
| Ort | Rechte | Was hilft |
|
||||
|---|---|---|
|
||||
| `/var/log/apache2/…` | `root:adm 0640` | `usermod -aG adm telegraf` |
|
||||
| `/home/users/<user>/logs/…` | `<user>:<user> 0640` | **`adm` hilft nicht** — ACL nötig |
|
||||
|
||||
Der Installer setzt dafür **ACLs** (`setfacl -R -m u:telegraf:rX` plus eine Default-ACL, damit neue Domain-Ordner das Recht erben). Das `acl`-Paket wird bei Bedarf nachinstalliert. Der Dienst bleibt im eingeschränkten Konto — kein `root` nötig.
|
||||
|
||||
Danach folgt ein **Gegentest**: Der Installer liest eine echte Logdatei als Dienst-Benutzer. Meldet er
|
||||
|
||||
```
|
||||
[netbird-telegraf] Gegentest: 'telegraf' kann Apache-Logs lesen (…)
|
||||
```
|
||||
|
||||
ist die Kette nachweislich in Ordnung.
|
||||
|
||||
### Glob-Muster statt Einzelpfade
|
||||
|
||||
Die Conf enthält **Muster**, nicht die expandierten Dateinamen:
|
||||
|
||||
```toml
|
||||
files = ["/var/log/apache2/*/access.log", "/home/users/*/logs/*/access.log"]
|
||||
```
|
||||
|
||||
Damit wird eine **neu angelegte Domain sofort erfasst**, ohne dass der Installer erneut laufen muss. (Der Installer schaltet beim Rendern `set -f` ein — sonst würde die Shell die Muster selbst auflösen und feste Pfade in die Conf schreiben.)
|
||||
|
||||
### `/etc/default/telegraf` wird gesourct — Werte müssen gequotet sein
|
||||
|
||||
Diese Datei wird mit `. /etc/default/telegraf` eingelesen (vom Installer und von der Telegraf-Unit). Ein **ungequoteter** Wert mit Leerzeichen bricht das Sourcing ab — bei mehreren Logpfaden versucht die Shell, den zweiten Pfad als Befehl auszuführen:
|
||||
|
||||
Reference in new issue
Block a user