graylog能夠收集操做系統日誌,包括linux,windows,macos等。在linux上配置使用rsyslog服務,比較容易,在windows 配置比較複雜。
html
參考官方配置手冊http://docs.graylog.org/en/latest/pages/sidecar.html#windowslinux
一、linux主機日誌收集git
公司不少的虛擬機都是centos7的操做系統,帶有rsyslog服務,可使用syslog協議將系統日誌發送到graylog上進行收集,能夠指定端口。
github
必須注意的是, 不少linux發行版的非root用戶是沒法使用1024如下的端口的,這些被稱爲特權端口。本次使用udp1515端口收集。macos
使用rsyslog轉發syslog消息很容易。充分利用日誌的惟一重要事項是遵循 RFC 5424。按照以下示例配置您的rsyslog守護程序將RFC 5424日期發送到Graylog syslog輸入:windows
touch /etc/rsyslog.d/greylog.conf #建立rsyslog額外配置文件 cat << EOF > /etc/rsyslog.d/greylog.conf #編輯配置文件 *.* @192.168.99.40:1515;RSYSLOG_SyslogProtocol23Format #*.* 表明linux中全部模塊全部級別的日誌,@表明使用udp協議,@@表明使用tcp協議,192.168.99.40:1515greylog主機的IP和收集端口 EOF #RSYSLOG_SyslogProtocol23Format 表明syslog協議格式模板
配置完成後,重啓rsyslog服務後端
systemctl restart rsyslog systemctl enable rsyslog
自此,linux主機syslog配置完成centos
而後在到graylog上進行配置,在system->input中,添加一個新的input,按照以下進行配置,選擇Syslog UDP api
點擊launch new input,而後按照以下進行配置bash
說明:
一、port 寫1515
二、bind address保持0.0.0.0 默認
完成添加後,點擊「start input"啓動
而後咱們在一臺linux主機上進行測試,使用簡單測試用命令,檢查greylog是否可以收到
logger -p mail.info "hello!"
確承認以收到
2、windows收集日誌
windows操做系統沒法使用syslog協議進行發送日誌。一種方式使用第三方軟件如」eventlog"將windows的系統日誌轉化syslog協議的日誌進行發送,可是greylog卻沒法收集和處理。
因此在greylog上是使用第三方程序做爲代理安裝到windows主機上,從而收集windows主機日誌。
greplog主要推薦使用Graylog Sidecar進行。
Graylog Sidecar是一個輕量級配置管理系統,適用於不一樣的日誌收集器,也稱爲後端。Graylog節點充當包含日誌收集器配置的集中式集線器。在支持的消息生成設備/主機上,Sidecar能夠做爲服務(Windows主機)或守護程序(Linux主機)運行。
日誌收集器配置經過Graylog Web界面集中管理。Sidecar守護程序會按期使用REST API獲取目標的全部相關配置。在第一次運行時,或者在檢測到配置更改時,Sidecar將生成(呈現)相關的後端配置文件。而後它將啓動或從新啓動那些從新配置的日誌收集器。
2.1windows上安裝sidecar
下載地址https://github.com/Graylog2/collector-sidecar/releases
windows安裝以下版本
windows上的sidecar下載地址
https://github.com/Graylog2/collector-sidecar/releases/download/1.0.0/graylog_sidecar_installer_1.0.0-1.exe
該程序是嚮導方式安裝,將安裝程序傳輸到windows主機上,直接以管理員身份運行
不過在安裝以前,咱們須要須要肯定sidecar的api token
首先在system中添加一個input
而後按照以下進行配置
bind address和port 保持默認便可
而後進入system/sidecar
此時根據提示,建立sidecar用戶的token
新建一個token
把這個token記錄下來,而後在 windows主機上執行sidecar安裝程序
這裏面惟一調整的就是 api的url和token字符串,若是能夠,修改實例名稱,好比爲ip地址,而後下一步完成windows主機上sidecar的安裝
完成安裝後,以管理員身份運行cmd配置windows sidecar的做爲服務並啓動
C:\Program Files\graylog\sidecar\graylog-sidecar.exe -service install C:\Program Files\graylog\sidecar\graylog-sidecar.exe" -service start
而後檢查服務狀態,確認sidecar服務已經啓動
記住Windows Sidecar包已包含Filebeat和Winlogbeat,不須要再額外安裝
2.2配置input
在greylog上配置input配置完成後,先別啓動,由於還要配置sidecar
在system中選擇sidecar
進入後,進入configuration進行新建配置
進入collection配置,選擇configuration進行配置
進入配置後,按照以下進行配置
說明:
一、name能夠隨意取
二、collector要選擇 「winlogbeat on wondows'
而後這裏注意,須要修改out.logstash:,修改成graylog主機的ip地址
而後點擊確認
下來,咱們須要將新建立的配置(以及Filebeat收集器)分配給咱們的sidecar。轉到該頁面。Collector Administration
而後能夠看到windows主機安裝了sidecar可以被graylog發現
這些都要手動選擇上,而後確認
確認以後,須要確認sidecar處於running狀態,自此sidecar配置完畢
而後咱們在"overview "點擊」show message"就能夠看到收集到的日誌
收到的windows主機日誌以下所示:
3、注意事項和添加到dashboard
在配置sidecar時,須要注意不少事情,在windows主機端安裝客戶端
一、配置正確的sidecar用戶api token
二、實例名稱能夠修改成主機名或者ip地址
三、必定要保持windows主機與greylog主機的tcp 5044端口開放
四、必定要確認windows主機的graylog服務啓動
五、對於linux主機或者其餘自定義配置,須要調整sidecat.yml,配置參考以下:
基本上大部分主機配置只須要配置SERVER_URL和server_api_token
五、能夠在windows主機的C:\Program Files\Graylog\sidecar\logs(greylog的sidecar客戶端默認安裝路徑)查看sidecar客戶端日誌信息,方便排錯
在graylog端配置時須要注意
一、input選擇beates,並且要保持開啓
二、sidecar須要配置正確的collector,例如windows爲winlogbeate,linux主機爲filebeat
三、要保持collector處於運行狀態
四、只有客戶端配置正確且與graylog通訊正常,纔會在sidecar中看到顯示的sidecar實例
五、配置collector時候,必定要調整out.logstash:修改成graylog主機地址
我TM還能說什麼,收集個windows日誌,竟然如此麻煩
接下來,就是將sidecar收集到的日誌添加到儀表盤
就像這樣
同時也能夠在souce中查看日誌收集總覽