Linux通过Rsyslog搭建集中日志服务器

(一)Rsyslog简介
ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地。
rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器。rsyslog的另外一个用法,就是可以配置为客户端,用来过滤和发送内部日志消息到本地文件夹(如/var/log)或一台可以路由到的远程rsyslog服务器上。
logrotate是一个日志文件管理工具。用来把旧文件轮转、压缩、删除,并且创建新的日志文件。我们可以根据日志文件的大小、天数等来转储,便于对日志文件管理,一般都是通过cron计划任务来完成的。

序号 IP地址 类型 备注
1 192.168.99.99 Server端
2 192.168.99.98 client端

(二)rsyslog server服务端配置
1,rsyslog默认是安装的,如果没有安装通过
[[email protected] samba]# yum install rsyslog -y

2,修改/etc/rsyslog.conf配置文件,启用udp和tcp模块 $ModLoad imudp $UDPServerRun 514 $ModLoad imtcp
$InputTCPServerRun 514

[[email protected] samba]# vim /etc/rsyslog.conf
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal

 #####开启udp接收日志
$ModLoad imudp
$UDPServerRun 514
$template RemoteHost,"/data/syslog/%$YEAR%-%$MONTH%-%$DAY%/%FROMHOST-IP%.log"
*.*  ?RemoteHost
& ~
####开启tcp协议接受日志
$ModLoad imtcp
$InputTCPServerRun 514

$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

#######启用/etc/rsyslog.d/*.conf目录下所有以.conf结尾的配置文件
$IncludeConfig /etc/rsyslog.d/*.conf     

$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
local0.*                                                /etc/keepalived/keepalived.log

3,重启rsyslog服务

[[email protected] 2018-05-23]# systemctl restart rsyslog
[[email protected] 2018-05-23]# systemctl status rsyslog
[[email protected] samba]# netstat -anp|grep 514
tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      1445/rsyslogd
tcp6       0      0 :::514                  :::*                    LISTEN      1445/rsyslogd
udp        0      0 0.0.0.0:514             0.0.0.0:*                           1445/rsyslogd
udp6       0      0 :::514                  :::*                                1445/rsyslogd   

(三)rsyslog客户端的配置
1,编辑rsylog客户端的配置文件:

[[email protected] log]# grep -v "^$" /etc/rsyslog.conf | grep -v "^#"

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template myFormat,"%timestamp% %fromhost-ip% %msg%\n"   #######自定义模板的相关信息
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.*          @192.168.99.99:514                      ########该声明告诉rsyslog守护进程,将系统上各个设备的各种日志的所有消息路由到远程rsyslog服务器(192.168.99.99)的UDP端口514。@@是通过tcp传输,一个@是通过udp传输。
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
local0.*                                             /etc/keepalived/keepalived.log

2,重启客户端rsyslog服务

[[email protected] log]# systemctl restart rsyslog
[[email protected] log]# systemctl status rsyslog
● rsyslog.service - System Logging Service
   Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2018-05-24 16:57:04 CST; 4s ago
 Main PID: 44765 (rsyslogd)
   CGroup: /system.slice/rsyslog.service
           └─44765 /usr/sbin/rsyslogd -n

5月 24 16:57:04 server98 systemd[1]: Starting System Logging Service...
5月 24 16:57:04 server98 systemd[1]: Started System Logging Service.

(四)查看客户端和服务端的日志是否正常生成。
(1)查看服务端是否在/data/日期/ip.log正常生成。

[[email protected] 2018-05-24]# tail -f /data/2018-05-24/192.168.99.98.log
2018-05-24T17:02:52+08:00 server98 postfix/pickup[41198]: AAC764ACB03: uid=0 from=<[email protected]>
2018-05-24T17:02:52+08:00 server98 postfix/cleanup[45967]: AAC764ACB03: message-id=<[email protected]>
2018-05-24T17:02:52+08:00 server98 postfix/qmgr[2356]: AAC764ACB03: from=<[email protected]>, size=851, nrcpt=1 (queue active)
2018-05-24T17:02:52+08:00 server98 postfix/smtp[39596]: AAC764ACB03: to=<[email protected]>, relay=none, delay=0, delays=0/0/0/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=address.somewhere type=AAAA: Host not found)
2018-05-24T17:02:52+08:00 server98 postfix/cleanup[45967]: AB6804ACB0B: message-id=<[email protected]>
2018-05-24T17:02:52+08:00 server98 postfix/bounce[45968]: AAC764ACB03: sender non-delivery notification: AB6804ACB0B
2018-05-24T17:02:52+08:00 server98 postfix/qmgr[2356]: AB6804ACB0B: from=<>, size=2811, nrcpt=1 (queue active)
2018-05-24T17:02:52+08:00 server98 postfix/qmgr[2356]: AAC764ACB03: removed
2018-05-24T17:02:52+08:00 server98 postfix/smtp[39597]: AB6804ACB0B: to=<[email protected]>, relay=none, delay=0, delays=0/0/0/0, dsn=5.4.4, status=bounced (Host or domain name not found. Name service error for name=company.xy type=AAAA: Host not found)
2018-05-24T17:02:52+08:00 server98 postfix/qmgr[2356]: AB6804ACB0B: removed
2018-05-24T17:14:33+08:00 server98 root: hello world

(2)在客户端生成日志,是否日志同步,都有
[[email protected] ~]# tail -f /var/log/messages
May 24 17:11:40 server98 Keepalived_vrrp[49377]: VRRP_Script(chk_http_port) succeeded
May 24 17:11:52 server98 smokeping[38532]: Alert someloss is active for Other.hefei.hefei-office2
May 24 17:11:52 server98 smokeping[38532]: Alert someloss is active for Other.wuxi.wuxi-office2
May 24 17:12:52 server98 smokeping[38532]: Alert someloss is active for Other.hefei.hefei-office2
May 24 17:12:52 server98 smokeping[38532]: Alert someloss is active for Other.wuxi.wuxi-office2
May 24 17:13:52 server98 smokeping[38532]: Alert someloss is active for Other.hefei.hefei-office2
May 24 17:13:52 server98 smokeping[38532]: Alert someloss is active for Other.wuxi.wuxi-office2
May 24 17:14:33 server98 root: hello world

至此,日志服务端和客户端日志同步完成。

备注:

1,Facility是syslog的模块: rsyslog通过facility概念来定义日志消息的来源,以方便对日志进行分类。Facility:有0-23种设备可选,在python的syslog库中有一部分缺失
0 kernel messages
1 user-level messages
2 mail system
3 system daemons
4 security/authorization messages
5 messages generated internally by syslogd
6 line printer subsystem
7 network news subsystem
8 UUCP subsystem
9 clock daemon
10 security/authorization messages
11 FTP daemon
12 NTP subsystem
13 log audit
14 log alert
15 clock daemon
16-23     local0 - local7
常用的有:

2,Severity:日志等级
0 Emergency
1 Alert
2 Critical
3 Error
4 Warning
5 Notice
6 Informational
7 Debug

重要的配置文件:
1,rsyslog server服务端的配置:

[[email protected] 2018-05-23]# grep -v "^$" /etc/rsyslog.conf | grep -v "^#"
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$ModLoad imudp
$UDPServerRun 514
$template RemoteHost,"/data/%$YEAR%-%$MONTH%-%$DAY%/%FROMHOST-IP%.log"
*.*  ?RemoteHost
& ~
$ModLoad imtcp
$InputTCPServerRun 514
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
local0.*                                                /etc/keepalived/keepalived.log


2,rsyslog 客户端的配置

[[email protected] log]# grep -v "^$" /etc/rsyslog.conf | grep -v "^#"
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template myFormat,"%timestamp% %fromhost-ip% %msg%\n"
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none          @192.168.99.99:514
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
local0.*                                             /etc/keepalived/keepalived.log

原文地址:http://blog.51cto.com/liqingbiao/2119953

时间: 2024-10-10 13:43:32

Linux通过Rsyslog搭建集中日志服务器的相关文章

Linux下快速搭建ntp时间同步服务器

背景: 服务器多了,时间是否一致以及是否准备就显得格外重要,虽然这个问题总是被忽略,但是统一时间是很有必要的,因为时间问题导致服务出现问题也是司空见惯,本文简单介绍一下ntp的快速搭建和使用. 1.  安装ntp yum -y install ntp(直接yum安装即可) 2.  修改ntp.conf的配置 1)vim /etc/ntp.conf ①   配置方法一:只允许192.168.100.0网段的客户机进行时间同步 在restrict default kod nomodify notra

CentOS7下利用rsyslog+loganalyzer配置日志服务器及Linux和windows客户端配置

一.简介: 随着机房内的服务器和网络设备增加,日志管理和查询就成了让系统管理员头疼的事. 系统管理员遇到的常见问题如下: 1.日常维护过程中不可能登录到每一台服务器和设备上去查看日志: 2.网络设备上的存储空间有限,不可能存储日期太长的日志,而系统出现问题又有可能是很久以前发生的某些操作造成的: 3.在某些非法入侵的情况下,入侵者一般都会清除本地日志,清除入侵痕迹: 4.zabbix等监控系统无法代替日志管理,无法监控如系统登录.计划任务执行等项目. 基于上述原因,在当前的网络环境中搭建一台用于

CentOS6.8下使用rsyslog+ldap部署日志服务器来实现日志收集

在我们的运维工作中,常常会对系统上的日志进行收集,手动管理少量的几台服务器的日志收集没有太大难度,但是企业当中批量的管理成千上万台服务器的时候,这时候想一台台的收集日志未免太浪费时间了,这时候我们需要一个批量管理日志的系统来解决这一难题,今天我给大家带来的使用 1.syslog介绍 日志服务在Centos5上位syslog,随着系统版本的升级之后,日志服务改为rsyslog,rsyslog是syslog的升级版,提供了许多高级的特性.syslog由klogd和syslogd组成,klogd记录的

centos 7.0 依赖Rsyslog+LogAnalyzer部署日志服务器

Loganalyzer简介: LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构.基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案. LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/va

搭建中央日志服务器

--远程日志--将本机的日志,保留在其他的远程服务器上 实验环境: logserver :192.168.1.249 logclient : 192.168.1.20 实验过程: logserver的配置: [[email protected] ~]# cp /etc/rsyslog.conf /etc/rsyslog.conf.bak [[email protected] ~]# vim /etc/rsyslog.conf    --修改配置 $UDPServerRun 514        

lamp+loganalyzer+rsyslog server部署日志服务器

lamp+loganalyzer+rsyslogserver部署日志服务器 网络环境 日志服务器 (lamp+loganalyzer+rsyslog) IP : 172.16.6.63/16 主机名: log.com 系统发行本: CentOS release 6.6 (Final) loganalyzer 版本:loganalyzer-3.6.5.tar.gz lamp apche rpm: rpmhttpd-2.2.15-39.el6.centos.x86_64 php rpm: php-g

centos 如何用 rsyslog 搭建本地日志服务(续1: omprog模块与php deamon的配合使用)

上一篇说到了如何用 rsyslog 搭建本地的日志服务,地址在这里,没有看的童鞋可以先瞅一眼 : http://www.cnblogs.com/smallrookie/p/5677004.html 显然这个是比较简单粗暴的,如果没有做过什么特殊的输出配置,所有的输出都会写到一个文件里面,当然 rsyslog 是支持关键词匹配,然后把日志定向的写到你想写的文件里面的,如果你只有数量比较小的接口并且一段时间内,接口的数量不会发生变更,那么使用这种方式是OK的.不过实际情况是,我们通常要处理的是大量的

rsyslog+LogAnalyzer+MySQL日志服务器

ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息 LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构.基于当前的日志数据,它可以处理syslog日志消息,W

阿里云上搭建Graylog日志服务器的几个注意事项

1.故障现象 因项目需要,需要配置集中的日志服务器,本来打算上ELK,但后面申请的资源太少,改用更轻量级的日志服务器Graylog,关于Graylog的介绍以及安装部署我就不在这里写了,参考官方文档:http://docs.graylog.org/en/2.4/pages/installation/os/centos.html 在阿里云服务器上部署完毕,输入用户名和密码,出现如下报错: 2.分析过程 因为之前在本地测试环境搭建成功后,操作基本一致,但阿里云上就是报错,检查安全组策略和SLB的转发