graylog可以收集操作系统日志,包括linux,windows,macos等。在linux上配置使用rsyslog服务,比较容易,在windows 配置比较复杂。

    参考官方配置手册http://docs.graylog.org/en/latest/pages/sidecar.html#windows

、linux主机日志收集

    公司很多的虚拟机都是centos7的操作系统,带有rsyslog服务,可以使用syslog协议将系统日志发送到graylog上进行收集,可以指定端口。

 必须注意的是, 很多linux发行版的非root用户是无法使用1024以下的端口的,这些被称为特权端口。本次使用udp1515端口收集。

使用rsyslog转发syslog消息很容易。充分利用日志的唯一重要事项是遵循 RFC 5424。按照如下示例配置您的rsyslog守护程序将RFC 5424日期发送到Graylog syslog输入:

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协议格式模板

graylog3.0配置收集linux主机和windows主机日志_第1张图片

配置完成后,重启rsyslog服务

systemctl restart rsyslog
systemctl enable rsyslog

自此,linux主机syslog配置完成

然后在到graylog上进行配置,在system->input中,添加一个新的input,按照如下进行配置,选择Syslog UDP 

graylog3.0配置收集linux主机和windows主机日志_第2张图片

点击launch new input,然后按照如下进行配置

graylog3.0配置收集linux主机和windows主机日志_第3张图片

说明:

1、port 写1515

2、bind address保持0.0.0.0 默认


完成添加后,点击“start input"启动


然后我们在一台linux主机上进行测试,使用简单测试用命令,检查greylog是否能够收到

logger -p mail.info "hello!"

image.png

确认可以收到

graylog3.0配置收集linux主机和windows主机日志_第4张图片




二、windows收集日志

windows操作系统无法使用syslog协议进行发送日志。一种方式使用第三方软件如”eventlog"将windows的系统日志转化syslog协议的日志进行发送,但是greylog却无法收集和处理。

所以在greylog上是使用第三方程序作为代理安装到windows主机上,从而收集windows主机日志。

greplog主要推荐使用Graylog Sidecar进行。

Graylog Sidecar是一个轻量级配置管理系统,适用于不同的日志收集器,也称为后端Graylog节点充当包含日志收集器配置的集中式集线器。在支持的消息生成设备/主机上,Sidecar可以作为服务(Windows主机)或守护程序(Linux主机)运行。

graylog3.0配置收集linux主机和windows主机日志_第5张图片


日志收集器配置通过Graylog Web界面集中管理。Sidecar守护程序会定期使用REST API获取目标的所有相关配置在第一次运行时,或者在检测到配置更改时,Sidecar将生成(呈现)相关的后端配置文件。然后它将启动或重新启动那些重新配置的日志收集器。


2.1windows上安装sidecar

下载地址https://github.com/Graylog2/collector-sidecar/releases

graylog3.0配置收集linux主机和windows主机日志_第6张图片

windows安装如下版本

graylog3.0配置收集linux主机和windows主机日志_第7张图片

windows上的sidecar下载地址

https://github.com/Graylog2/collector-sidecar/releases/download/1.0.0/graylog_sidecar_installer_1.0.0-1.exe

该程序是向导方式安装,将安装程序传输到windows主机上,直接以管理员身份运行

graylog3.0配置收集linux主机和windows主机日志_第8张图片

不过在安装之前,我们需要需要确定sidecar的api token

首先在system中添加一个input

graylog3.0配置收集linux主机和windows主机日志_第9张图片

然后按照如下进行配置

graylog3.0配置收集linux主机和windows主机日志_第10张图片

bind address和port 保持默认即可

然后进入system/sidecar

graylog3.0配置收集linux主机和windows主机日志_第11张图片

此时根据提示,创建sidecar用户的token

graylog3.0配置收集linux主机和windows主机日志_第12张图片

新建一个token

graylog3.0配置收集linux主机和windows主机日志_第13张图片




把这个token记录下来,然后在 windows主机上执行sidecar安装程序

graylog3.0配置收集linux主机和windows主机日志_第14张图片

这里面唯一调整的就是 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

graylog3.0配置收集linux主机和windows主机日志_第15张图片

然后检查服务状态,确认sidecar服务已经启动

graylog3.0配置收集linux主机和windows主机日志_第16张图片

记住Windows Sidecar包已包含Filebeat和Winlogbeat,不需要再额外安装



2.2配置input


在greylog上配置input配置完成后,先别启动,因为还要配置sidecar

在system中选择sidecar

graylog3.0配置收集linux主机和windows主机日志_第17张图片

进入后,进入configuration进行新建配置

graylog3.0配置收集linux主机和windows主机日志_第18张图片

进入collection配置,选择configuration进行配置

graylog3.0配置收集linux主机和windows主机日志_第19张图片


进入配置后,按照如下进行配置

graylog3.0配置收集linux主机和windows主机日志_第20张图片

说明:

1、name可以随意取

2、collector要选择 “winlogbeat on wondows'

然后这里注意,需要修改out.logstash:,修改为graylog主机的ip地址

graylog3.0配置收集linux主机和windows主机日志_第21张图片

然后点击确认


下来,我们需要将新创建的配置(以及Filebeat收集器)分配给我们的sidecar。转到该页面。Collector Administration

graylog3.0配置收集linux主机和windows主机日志_第22张图片

然后可以看到windows主机安装了sidecar能够被graylog发现

graylog3.0配置收集linux主机和windows主机日志_第23张图片

这些都要手动选择上,然后确认

graylog3.0配置收集linux主机和windows主机日志_第24张图片

确认之后,需要确认sidecar处于running状态,自此sidecar配置完毕

graylog3.0配置收集linux主机和windows主机日志_第25张图片

然后我们在"overview "点击”show message"就可以看到收集到的日志

image.png

收到的windows主机日志如下所示:

graylog3.0配置收集linux主机和windows主机日志_第26张图片



三、注意事项和添加到dashboard


  在配置sidecar时,需要注意很多事情,在windows主机端安装客户端

1、配置正确的sidecar用户api token

2、实例名称可以修改为主机名或者ip地址

3、一定要保持windows主机与greylog主机的tcp 5044端口开放

image.png

4、一定要确认windows主机的graylog服务启动

5、对于linux主机或者其他自定义配置,需要调整sidecat.yml,配置参考如下:

    基本上大部分主机配置只需要配置SERVER_URL和server_api_token

graylog3.0配置收集linux主机和windows主机日志_第27张图片

5、可以在windows主机的C:\Program Files\Graylog\sidecar\logs(greylog的sidecar客户端默认安装路径)查看sidecar客户端日志信息,方便排错

graylog3.0配置收集linux主机和windows主机日志_第28张图片


在graylog端配置时需要注意


1、input选择beates,而且要保持开启

2、sidecar需要配置正确的collector,例如windows为winlogbeate,linux主机为filebeat

3、要保持collector处于运行状态

4、只有客户端配置正确且与graylog通信正常,才会在sidecar中看到显示的sidecar实例

5、配置collector时候,一定要调整out.logstash:修改为graylog主机地址



我TM还能说什么,收集个windows日志,居然如此麻烦



接下来,就是将sidecar收集到的日志添加到仪表盘

就像这样

graylog3.0配置收集linux主机和windows主机日志_第29张图片

同时也可以在souce中查看日志收集总览

graylog3.0配置收集linux主机和windows主机日志_第30张图片