Ich möchte eine Architektur wie auf der linken Seite dieses Bildes (weil ich NXLog verwenden möchte) erreichen: http://docs.graylog.org/en/2.1/_images/sidecar_overview.png. Ich habe bereits Graylog2 auf meinem RedHat Server installiert und arbeite gerade an der Konfiguration von Collector-Sidecar. Da ich als Nicht-Root arbeite, musste ich mehrere Verzeichnisse in den Konfigurationsdateien von collector-sidecar und NXLog ändern. Nun zum Problem: Jedesmal, wenn ich Sammler Beiwagen zu starten, erhalte ich INFO/Error- Nachrichten:Graylog Collector Sidecar als nicht root
[[email protected] bin]$ ./graylog-collector-sidecar -c /opt/ansible/sidecar/etc/graylog/collector-sidecar/collector_sidecar.yml
INFO[0000] Using collector-id: 13a3d80f-cb69-4391-8520-7a760b9b964e
INFO[0000] Fetching configurations tagged by: [linux apache syslog]
ERRO[0000] stat /var/run/graylog/collector-sidecar: no such file or directory
INFO[0000] Trying to create directory for: /var/run/graylog/collector-sidecar/nxlog.run
ERRO[0000] Not able to create directory path: /var/run/graylog/collector-sidecar
INFO[0000] Starting collector supervisor
ERRO[0010] [UpdateRegistration] Sending collector status failed. Disabling `send_status` as fallback! PUT http://127.0.0.1:12900/plugins/org.graylog.plugins.collector/collectors/13a3d80f-cb69-4391-8520-7a760b9b964e: 400 Unable to map property tags.
Known properties include: operating_system
Nach diesem Startvorgang erscheint ein Kollektor auf meinem Graylog Web-Interface, aber wenn ich Abbruch die Startprozedur verschwindet der Kollektor wieder. Während des Startvorgangs versucht es einen Pfad in /var/run/graylog/collector-sidecar zu erstellen, aber da ich nicht root bin, kann es nicht. Als Konsequenz kann er nxlog.run in diesem Verzeichnis nicht erstellen. Ich habe bereits versucht, den Pfad zu einem Ort zu ändern, an dem ich keine root-Berechtigungen benötige, aber ich denke, es gibt keine Konfigurationsdatei, wo ich das tun kann. Also schaute ich in den binären Kollektorfläche-Beiwagen und fanden diese:
func (nxc *NxConfig) ValidatePreconditions() bool {
if runtime.GOOS == "linux" {
if !common.IsDir("/var/run/graylog/collector-sidecar") {
err := common.CreatePathToFile("/var/run/graylog/collector-sidecar/nxlog.run")
if err != nil {
return false
}
}
}
return true
}
Es scheint, dass der Weg in die Anwendung codiert, und es gibt keine Möglichkeit, anoter Pfad zu konfigurieren. Sehen Sie eine Lösung neben Root-Berechtigungen?
Ich würde empfehlen, um Ihre Frage zu den offiziellen Graylog Community-Support-Kanäle veröffentlichen: https://www.graylog.org/community-support – joschi