docs: Apache-Logpfad-Sammlung (KeyHelp zweistufig) + Quoting-Pflicht in /etc/default/telegraf

This commit is contained in:
mm committed 2026-09-14 00:32:24 +02:00
1 parent cba503e174
commit ce52d2c26b
1 file changed
+33 -1
+33 -1
View File
@@ -34,7 +34,39 @@ Mit `--role apache` (oder automatisch, wenn `apache2ctl`/`httpd` gefunden wird)
| **Loki** | jede Zeile roh | Fehlersuche im Einzelfall | | **Loki** | jede Zeile roh | Fehlersuche im Einzelfall |
| **Prometheus** | `apache_access` mit Tags `resp_code`, `verb` | Request-Rate, Status-Klassen, Error-Rate — Panels und Alerts | | **Prometheus** | `apache_access` mit Tags `resp_code`, `verb` | Request-Rate, Status-Klassen, Error-Rate — Panels und Alerts |
**Logpfad wird automatisch ermittelt:** `/var/log/apache2/access.log` (Debian/Ubuntu/KeyHelp), `/var/log/httpd/access_log` (RHEL/Rocky), sonst aus der `CustomLog`-Direktive der Apache-Config. Überschreiben mit `--apache-log <pfad>`. ### Logpfade werden automatisch gesammelt
Der Installer **sammelt alle passenden Muster** — nicht nur das erste. Auf einem KeyHelp-Host laufen zwei Strukturen parallel, und die globale Standarddatei ist leer:
| Panel | Pfadmuster |
|---|---|
| **KeyHelp** | `/home/users/<user>/logs/<domain>/access.log` (**zweistufig**, pro Domain) |
| **KeyHelp** | `/var/log/apache2/<vhost>/access.log` (z. B. `keyhelp/access.log`) |
| Plesk | `/var/www/vhosts/<domain>/logs/access_log` |
| cPanel | `/usr/local/apache/domlogs/<domain>` |
| Klassisch | `/var/log/apache2/access.log`, `/var/log/httpd/access_log` |
Verifiziert auf x22: Die Requests liegen unter `/home/users/classi/logs/classi.parts/access.log` **und** `/var/log/apache2/keyhelp/access.log`, während `/var/log/apache2/access.log` **0 Bytes** hat. Ein Input auf die leere Datei hätte still nichts geliefert — leere Standarddateien werden per `-s`-Test ausgeschlossen.
Alle gefundenen Pfade landen als TOML-Liste in der Conf:
```toml
files = ["/var/log/apache2/*/access.log", "/home/users/*/logs/*/access.log"]
```
Jede Serie trägt ein `path`-Tag, damit man in Grafana nach Datei filtert. Überschreiben mit `--apache-log <pfad>` (mehrere Pfade leerzeichengetrennt).
**Zusätzlich** wird die `CustomLog`-Direktive aus `/etc/apache2` bzw. `/etc/httpd` ausgewertet — die verlässlichste Quelle, `${APACHE_LOG_DIR}` wird aufgelöst.
### `/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:
```
sh: /etc/default/telegraf: /home/users/classi/logs/classi.parts/access.log: Permission denied
```
Der Installer schreibt `APACHE_LOG='…'` deshalb **mit einfachen Anführungszeichen**. Zusätzlich liest er die Datei über `load_defaults` ein, das syntaktisch kaputte Dateien sichert und überschreibt statt abzubrechen — eine Node lässt sich so auch dann reparieren, wenn ihre Defaults-Datei bereits defekt ist.
### Zwei Fallstricke ### Zwei Fallstricke