Debian中:
rsyslog 是一个 syslogd 的多线程增强版。
现在Fedora和Ubuntu, rhel6默认的日志系统都是rsyslog了
rsyslog负责写入日志, logrotate负责备份和删除旧日志, 以及更新日志文件
root@h21:~# vi /etc/default/rsyslog
修改为:
SYSLOGD_OPTIONS="-m 0 -r"
SYSLOGD_OPTIONS 参数:
在“SYSLOGD_OPTIONS”行上加“-r”选项以允许接受外来日志消息。
-s ip 表示只允许接收来自指定ip的日志消息,提高安全性。多个ip之间使用冒号分隔,例如:SYSLOGD_OPTIONS='-r -s 192.168.0.2:192.168.0.3'
-x 表示禁止中央日志服务器解析远程主机的FQDN(fully qualified domain name,完整域名)。默认情况下,当有其他机器向自己发送日志消息时,中央日志服务器将尝试解析该机器的FQDN。如果syslog守护进程无法解析出那个地址,它将继续尝试,这种毫无必要的额外负担将大幅降低日志记录工作的效率,应该禁止。
-m 0表示给日志添加-- MARK --标记,0表示关闭标记。举例,-m 240,表示每隔240分钟(每天6次)在日志文件里增加一行时间戳消息。日志文件里的“--MARK--”消息可以让你知道中央日志服务器上的syslog守护进程没有停工偷懒。
客户端:
root@h22:~# vi /etc/rsyslog.conf
添加:
*.* @192.168.8.21
两个客户端都重启rsyslog
service rsyslog restart
root@h21:~# vi /etc/rsyslog.conf
打开文件进行编辑,查找到下面的两行所在的位置,通过删除其行首的#字符来取消注释。
$ModLoad imudp
$UDPServerRun 514
验证:
在h22上建一个RedHat的用户,然后到h21上的/var/log/auth.log查看日志
root@h21:/var/log# more auth.log
可以看到h21这台主机new了一个redhat的用户
Redhat中:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~实际上日志服务器的配置非常之简单几条命令就搞定了
一.配置日志服务器为网络中其他主机及其网络设备等等提供日志存储服务,也就是配置server1
1. 在server1上编辑/etc/sysconfig/syslog文件修改如下
vim /etc/sysconfig/syslog (只修改SYSLOGD_OPTINOS这项,如下)
SYSLOGD_OPTIONS="-m 0 -r"
2 .重新启动syslog
service syslog restart
3.配置防火墙,syslog传送日志的端口是UDP的514端口防火墙在默认的情况下是阻止所有的,这里就直接把防火墙关闭了
service iptables stop
chkconfig iptables off
ok!到这里服务器的配置基本就结束了.
二.配置server2让其将日志发送到日志服务器上去,我们知道windows跟交换机路由器都是有日志产生的,它们的日志也是可以存储到日志服务器上去的,这里就只介绍linux主机的
1.配置server2上的/etc/syslog.conf定义日志的类型以及日志的级别和日志存放的位置,这里就只简单的介绍下大体的配置思路,
vim /etc/syslog.conf
*.* @10.0.0.1
上面的配置表示所有的日志类型.所有的日志的级别的日志都将存放在10.0.0.1这台日志服务器上
2,重启syslog
service syslog restart
三.验证
1.在server2上建一个RedHat的用户,然后到server1上的/var/log/secure文件或者/var/log/messages文件 查看日志
#cat /var/log/secure
Jun 8 00:58:05 10.0.0.2 useradd[15463]: new group: name=redhat, GID=500
Jun 8 00:58:05 10.0.0.2 useradd[15463]: new user: name=redhat, UID=500, GID=500, home=/home/redhat, shell=/bin/bash
可以看到10.0.0.2这台主机new了一个redhat的用户