1、启用日志服务:
[root@www ~]#/etc/init.d/rsyslog start (redhel 6)
[root@www ~]#/etc/init.d/syslog start (redhel 5)
2、日志通常存放路径
[root@www ~]#ls /var/log/ --此目录下很多系统日志都存放在此
/var/log/messages --非常重要的日志文件,几乎所有系统发生的重要错误都会记录在此
/var/log/secure --ssh ftp telnet pop3 pam等有关
/var/log/dmesg --开机时核心检测过程中所产生的信息
/var/log/cron --查看时间任务有关的日志
/var/log/wtmp --用last查看,不能直接cat
/var/log/btmp --用lastb查看,不能直接cat
/var/log/lastlog --用lastlog查看
/var/log/boot.log --系统启动过程日志记录存放
/var/log/rpmpkgs --rpm相关
/var/log/maillog --mail相关
/var/log/spooler --news,uucp
/var/log/acpid --高级电源管理
/var/log/yum.log --yum程序相关的日志
连接符号
. 记录大于等于此等级
.= 只记录等于此等级的信息
.! 不等于此等级,也就是记录此等级之外的信息
(1)只记录mail的info级别信息到/var/log/newmaillog
mail.=info /var/log/newmaillog
(2)记录时间任务的info级别以上的所有信息(除了err外)到/var/log/newcron
cron.info;cron.!err /var/log/newcron
(3)把ssh的日志单独记录到/var/log/ssh
提示 local0-local7是自定义的日志设备,可以使用其中一种
如果拖管到xinetd下,可以这样做:
log_type =syslog local5 info
然后在syslog的主配置文件里加上
local5.info /var/log/ssh
如果没有ssh托管到超级守护进程的话配置如下
[root@www ~]#vim /etc/ssh/sshd_config
SyslogFacility local5 --修改成local5,把ssh的日志定义由local5来记录
[root@www ~]#/etc/init.d/sshd restart --重启使之生效
[root@www ~]#vim /etc/rsyslog.conf
local5.* /var/log/ssh --添加加一句
[root@www ~]#/etc/init.d/rsyslog restart --重启后/var/log/ssh文件被自动创建
2、日志集中化管理
如果想将其他机器的日志全部发送到一台服务器上收集该如何配置。
假设客户端ip:10.10.10.10 服务器上ip:10.10.10.254现在想将客户端上的ssh日志自动发送到服务器上保存。
(1)在客户端10上的配置
vim /etc/ssh/sshd_config
修改:SyslogFacility local5 ---------local5是自己自定义的,自定义范围有local0---local7
vim /etc/rsyslog.conf
添加一项
local5.* @@10.10.10.254:514 --------指定服务器IP和端口
然后刷新服务:/etc/init.d/rsyslog reload (restart)
(2)在服务器上254配置
vim /etc/rsyslog_conf
打开远程接收日志功能:
$ModLoad imtcp
$InputTCPServerRun 514
然后添加一项:
local5.* /var/log/remotessh.log ---------后面的路径和文件可以自己自定义,但是local5必须和前面定义的一样
保存然后刷新服务或者重启服务:
[root@www ~]#/etc/init.d/rsyslog reload (restart)
此时当有计算机通过ssh链接到客户端10时日志全部保存在服务器254下的/var/log/下的remotessh.log文件里面
相关阅读:
CentOS下配置主从DNS服务器以及DHCP下的DDNS
SUSE Linux 11 pxe+DHCP+tftp+ftp 无人值守安装