[ELK入门到实践笔记] 一、通过rsyslog搭建集中日志服务器
2019-11-11 18:14:46 Author: www.secpulse.com(查看原文) 阅读量:275 收藏

ELK 是elastic公司提供的一套完整的日志收集以及展示的解决方案,这是我在ELK学习和实践过程写下的笔记,整理成了一个ELK入门到实践的系列文章,分享出来与大家共勉。本文为该系列文章的第一篇,通过rsyslog建集中日志服务器,收集linux和window系统日志。


我们通常可以通过rsyslog来实现系统日志的集中管理,这种情况下通常会有一个日志服务器,然后每台服务器配置自己日志通过rsyslog来写到远程的日志服务器上,如下是rsyslog的配置过程:

0x01 rsyslog服务端配置

1、启用UDP/TCP进行传输

vim /etc/rsyslog.conf
# Provides UDP syslog reception    #若启用UDP进行传输,则取消下面两行的注释
$ModLoad imudp$UDPServerRun 514
# Provides TCP syslog reception    #若启用TCP进行传输,则取消下面两行的注释
#$ModLoad imtcp
#$InputTCPServerRun 514

2、为避免修改主配置文件,我们在/etc/rsyslog.d/中新建default.conf,追加如下模板:

#### GLOBAL DIRECTIVES ##### 
Use default timestamp format  # 使用自定义的日志格式
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template myFormat,"%timestamp% %fromhost-ip% %syslogtag% %msg%n"
$ActionFileDefaultTemplate myFormat
# 根据客户端的IP单独存放主机日志在不同目录,rsyslog需要手动创建
$template RemoteLogs,"/var/log/rsyslog/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"
# 排除本地主机IP日志记录,只记录远程主机日志
:fromhost-ip, !isequal, "127.0.0.1" ?RemoteLogs
# 忽略之前所有的日志,远程主机日志记录完之后不再继续往下记录
& ~

3、重启rsyslog服务

systemctl restart rsyslog

0x02 rsyslog客户服务端配置

1、启用UDP进行传输并设置远程日志服务器

vim /etc/rsyslog.conf
# Provides UDP syslog reception    #若启用UDP进行传输,则取消下面两行的注释
$ModLoad imudp$UDPServerRun 514
# Provides TCP syslog reception    #若启用TCP进行传输,则取消下面两行的注释
#$ModLoad imtcp#$InputTCPServerRun 514
*.*    @192.168.91.18:514          #若启用TCP传输则使用@@,若是UDP则使用@

2、重启rsyslog服务

systemctl restart rsyslog

0x03 效果展示

通过使用自定义日志格式,将不同服务器IP的日志单独分别存放在不同目录。到这里,使用rsyslog服务端和linux系统日志收集已完成。

0x04 扩展部分:Rsyslog Windows Agent

一般情况下,我们会使用winlogbeat用于收集windows的系统事件日志,但其实rsyslog自身也提供了一个Rsyslog Windows代理,用来收集windows日志。

下载地址:https://www.rsyslog.com/windows-agent/windows-agent-download/

安装过程:

1、双击rsyslogwa安装包,开始进行安装

2、一路Next安装即可。PS:在这里可能需要等几分钟。

操作使用:

1、打开RSyslog Windows Agent Configuration,在Tools---> Stslog Test Message,配置Syslog  Server服务器地址,点击Send,进行测试。


在Rsyslog服务端,接收到一条测试日志,说明Rsyslog通讯正常。

Nov 1 13:23:18 192.168.165.193 RSyslog Windows Agent: This is a SyslogTest

2、依次展示RuleSets,进行Rsyslog转发配置,并启用服务。

在rsyslog服务端进行验证,如尝试远程连接window服务器,可接收到多条服务器日志。

本文作者:Bypass007

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/117999.html


文章来源: https://www.secpulse.com/archives/117999.html
如有侵权请联系:admin#unsafe.sh