我想實現如圖所示左側的架構(因爲我想使用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權限之外,您還看到了一個解決方案嗎?
我建議發佈到官方Graylog社會支持渠道上的問題:https://www.graylog.org/community-support – joschi