2016-09-19 62 views
1

我想實現如圖所示左側的架構(因爲我想使用NXLog):http://docs.graylog.org/en/2.1/_images/sidecar_overview.png。 我已經在我的RedHat服務器上安裝了Graylog2,現在我正在處理收集器邊車的配置。由於我以非root用戶身份工作,因此我必須在collector-sidecar和NXLog的配置文件中更改多個目錄。現在的問題:每當我開始收集三輪,我得到信息/錯誤 - 消息:Graylog Collector Sidecar作爲nonroot

[[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 

這個啓動過程後,收集出現在我的Graylog Web的界面,但如果我放棄啓動程序收集器再次消失。 在啓動過程中,它會嘗試在/var/run/graylog/collector-sidecar中創建路徑,但由於我不是root用戶,它不能。因此,他無法在該目錄中創建nxlog.run。我已經嘗試將路徑更改爲不需要root權限的地方,但我認爲沒有配置文件,我可以在此執行此操作。所以,我看着集電極 - 三輪的二進制,發現這個:

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 
} 

看來,該路徑被編碼到應用程序,也沒有辦法來配置anoter路徑。 除了獲取root權限之外,您還看到了一個解決方案嗎?

+0

我建議發佈到官方Graylog社會支持渠道上的問題:https://www.graylog.org/community-support – joschi

回答

0

目前這是您在代碼中看到的固定路徑。要以普通用戶身份運行它,您還必須在默認的NXlog配置文件中進行一些更改。目前我會建議您編寫自己的NXlog文件,並在沒有Sidecar的情況下使用它。但是您可以創建GH問題,以便我們添加所需的選項。

乾杯, 馬呂斯