rsyslog:本地日志&日志服务器
环境:CentOS Linux release 7.1.1503 (Core)
安装
步骤
- 检查是否已安装
rpm -qa | grep rsyslog
,如果已安装则可跳过后面的步骤.
[root@localhost ~]# rpm -qa | grep rsyslog
rsyslog-7.4.7-7.el7_0.x86_64 #说明已安装
- 搜索合适的版本:
yum search rsyslog
- 安装合适的版本:例如:
yum install rsyslog.x86_64
配置文件
位置:/etc/rsyslog.conf
本地日志-写入本地文件
rsyslog默认是将日志存储在本地,所以不需要修改配置文件。
测试
根据配置文件中*.info;mail.none;authpriv.none;cron.none /var/log/messages
可以知道info级别的日志存储在/var/log/messages.
- 开个shell执行命令
tail -f /var/log/messages
,关注是否有日志 - 在另外一个shell中执行
logger -p info "hello, local rsyslog"
- 可以在tail的shell中看到以下的输出,,则说明已成功
[root@localhost ~]# tail -f /var/log/messages
Jan 5 10:47:30 localhost root: hello, local rsyslog
rsyslog日志服务器-日志写入远端rsyslog服务器
环境:
需要2个,一个做server,1个做client。
Client端配置
- 配置文件/etc/rsyslog.conf的最后一行:
*.* @@remote-hos:514
.该配置默认是注释掉的,可以直接取消注释。并将remote-host
修改为自己的服务器地址,如果有需要端口号也可以修改 - 配置文件/etc/rsyslog.conf中注释掉如下两行
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
- 重启rsyslog:
service rsyslog restart
Server端配置
- 编辑配置文件/etc/rsyslog.conf:取消TCP、UDP连接的注释,修改成如下
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCP
- 重启rsyslog:
service rsyslog restart
测试
- server端开个shell执行命令
tail -f /var/log/messages
,关注是否有日志 - client端执行命令
logger -p info "hello, remote rsyslog
- server端执行命令
logger -p info "hello, local rsyslog
- 可以看到如下输出, 则说明已成功:
[root@localhost ~]# tail -f /var/log/messages
Jan 5 10:58:20 localhost root: hello, remote rsyslog
Jan 5 10:58:25 localhost root: hello, local rsyslog