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协议格式模板
配置完成后,重启rsyslog服务
systemctl restart rsyslog systemctl enable rsyslog
自此,linux主机syslog配置完成
然后在到graylog上进行配置,在system->input中,添加一个新的input,按照如下进行配置,选择Syslog UDP
点击launch new input,然后按照如下进行配置
说明:
1、port 写1515
2、bind address保持0.0.0.0 默认
完成添加后,点击“start input"启动
然后我们在一台linux主机上进行测试,使用简单测试用命令,检查greylog是否能够收到
logger -p mail.info "hello!"
确认可以收到
二、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进行配置
进入配置后,按照如下进行配置
说明:
1、name可以随意取
2、collector要选择 “winlogbeat on wondows'
然后这里注意,需要修改out.logstash:,修改为graylog主机的ip地址
然后点击确认
下来,我们需要将新创建的配置(以及Filebeat收集器)分配给我们的sidecar。转到该页面。Collector Administration
然后可以看到windows主机安装了sidecar能够被graylog发现
这些都要手动选择上,然后确认
确认之后,需要确认sidecar处于running状态,自此sidecar配置完毕
然后我们在"overview "点击”show message"就可以看到收集到的日志
收到的windows主机日志如下所示:
三、注意事项和添加到dashboard
在配置sidecar时,需要注意很多事情,在windows主机端安装客户端
1、配置正确的sidecar用户api token
2、实例名称可以修改为主机名或者ip地址
3、一定要保持windows主机与greylog主机的tcp 5044端口开放
4、一定要确认windows主机的graylog服务启动
5、对于linux主机或者其他自定义配置,需要调整sidecat.yml,配置参考如下:
基本上大部分主机配置只需要配置SERVER_URL和server_api_token
5、可以在windows主机的C:\Program Files\Graylog\sidecar\logs(greylog的sidecar客户端默认安装路径)查看sidecar客户端日志信息,方便排错
在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收集到的日志添加到仪表盘
就像这样
同时也可以在souce中查看日志收集总览
转载于:https://blog.51cto.com/11555417/2353375
来源:CSDN
作者:weixin_33862188
链接:https://blog.csdn.net/weixin_33862188/article/details/92708030