2016-09-19 2 views
1

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?

+0

Ich würde empfehlen, um Ihre Frage zu den offiziellen Graylog Community-Support-Kanäle veröffentlichen: https://www.graylog.org/community-support – joschi

Antwort

0

Derzeit ist dies ein fester Pfad, wie Sie im Code gesehen haben. Um es als normaler Benutzer auszuführen, müssen Sie auch einige Änderungen in der Standard-NXlog-Konfigurationsdatei vornehmen. Im Moment empfehle ich Ihnen, Ihre eigene NXlog-Datei zu schreiben und sie ohne das Sidecar dazwischen zu verwenden. Aber Sie können ein GH-Problem erstellen, damit wir die benötigte Option hinzufügen können.

Cheers, Marius