ryslog集中收集系统日志

rsyslog可用于系统日志、交换机、路由器等日志的集中收集,研究的较浅,了解到:客户端可收集多个系统日志,如corn、message、secure等;服务端收到日志后通过template将不同主机的日志,按IP或主机名存放到同一个文件中,若日志格式固定,也可通过action来抽取日志存放到其他文件或转发给其他主机。

基本架构是c/s模式

最新版本8.35

官方手册:https://www.rsyslog.com/doc/v8-stable/configuration/index.html

安装

centos7 x86_64

cd /etc/yum.repos.d/

wget http://rpms.adiscon.com/v8-stable/rsyslog.repo

yum update -y rsyslog

 

Client端配置

cp /etc/rsyslog.conf /etc/rsyslog.conf.bk

1)

*.info;mail.none;authpriv.none;cron.none /var/log/messages

authpriv.* /var/log/secure

 

vim /etc/rsyslog.d/application_log.conf

$ModLoad imfile

$InputFilePollInterval 10

 

$InputFileName /alidata/www/ultron/runtime/log/*.log

$InputFileTag backen_A:

$InputFileStateFile info

$InputRunFileMonitor

 

#使用 TCP 发送到 "example.com" 的518端口

\*.\* @@example.com:518

 

*.* @@remote-hos:514.该配置默认是注释掉的,可以取消注释。并将remote-host修改为自己的服务器地址

 

2)

也可对非系统日志做转发,在/etc/rsyslog.d/下新增配置文件

vim app.conf

ruleset(name="remote"){

action(type="omfwd"

target="log_server_ip"

  port="514" #端口

protocol="tcp" #使用协议

queue.type="linkedList" #使用异步处理

queue.spoolDirectory="/var/run/rsyslog" #队列目录

queue.fileName="remoteQueue" #队列名称

queue.maxDiskSpace="5g" #队列占最大磁盘空间

queue.saveOnShutdown="on" #保存内存数据如果rsyslog关闭

action.resumeRetryCount="-1" #无限重试插入失败

)

stop

}

 

$WorkDirectory /var/run/rsyslog #默认为/var/lib/rsyslog

 

module(load="imfile" PollingInterval="5")

 

input(type="imfile"

File="/alidata/www/runtime/log/201806/*.log" #日志路径

Facility="local1"

Severity="info"

Tag="clilog" #定义日志标签,重要,服务端根据这个标签可以识别日志

PersistStateInterval="1" #回写偏移量数据到文件间隔时间(秒),根据实际情况而定

Ruleset="remote" #rsyslog.conf中定义的rule名称

)

 

重启rsyslog:systemctl restart rsyslog

 

Server端配置

cp /etc/rsyslog.conf /etc/rsyslog.conf.bk

 

编辑配置文件/etc/rsyslog.conf:取消TCP、UDP连接的注释,修改成如下

# Provides UDP syslog reception

$ModLoad imudp

$UDPServerRun 514

 

# Provides TCP syslog reception

$ModLoad imtcp

$InputTCP

 

#在global device前配置日志收集后按主机名和日期存放在/data/log目录下

$template Remote,"/data/log/%hostname%/%$year%%$month%/%$DAY%_cli.log"

:fromhost-ip, !isequal, "127.0.0.1" ?Remote

@ ~

 

重启rsyslog:systemctl restart rsyslog

ps,最好先重启服务端,在重启客户端,这样客户端就能将队列缓存日志上传给服务端了

集中日志后,紧接着就是分析、报警之类的

转载于:https://my.oschina.net/u/2404183/blog/1827085

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值