日志管理
切到日志目录:/var/log/
其中messages是系统日志
xferlog是ftp的日志,谁下载了什么文件都会在这里显示
maillog邮件日志
cron是计划任务的日志
lastlog是记录用户最后一次的登录时间(用cat查看会乱码,应该直接使用lastlog命令)
wtmp记录的是最后一个月的账户登录信息(用cat查看会乱码,应该直接使用last命令)
btmp是安全日志,ssh远程登录错误被拒绝的日志(用cat查看会乱码,应该直接使用lastb命令)
secure也是安全日志,不过他是正常的日志
自定义日志配置
开启日志系统
/etc/init.d/rsyslog start
查看主配置文件
vim /etc/rsyslog.conf
格式: 日志对象.日志级别 日志文件
*代表所有的
*.*:所有的日志对象,所有的级别
.代表大于或等于当前级别
.=代表只有这个日志级别
.!代表除了这个日志级别
mail.none 代表除了mail的日志,上面那句话的意思就是,除了mail,authpriv,cron的日志,其他的日志级别大于info的都存到message中
日志对象:
只能指定这些日志对象
man 5 rsyslog.conf
日志级别(低-高):
举例
vim /etc/rsyslog.conf
添加一行,输出所有日志到mylog中
然后创建这个日志文件:touch /var/log/mylog
修改文件权限:chmod 777 /var/log/mylog
查看日志: tail -f /var/log/mylog
日志轮转(日志切割)
比如五天一轮转,轮转3次
第一次的日志文件是log.1
五天后log.1改名为log.2 ,然后创建新的log.1
十天后log.2改名log.3,log.1改名log.2,然后创建新的log.1
十五天后log.3改成log.4并且删除log.4,然后log.2改名log.3,log.1改名log.2,然后创建新的log.1
-----------------------------------------
编辑配置文件
vim /etc/logrotate.conf
全局的配置:
weekly轮转周期(还有daily monthly yearly)
rotate 轮转次数
create是创建新的日志文件
dateext表示以日期作为文件结尾
compress 表示要不要把就文件压缩
局部的配置 :之前我们说过wtmp记录的是一个月的登录日志,现在知道为什么了吧,他一个月轮转一次,而且只轮转一次
/etc/logrotate.d是一个目录,下面存的是单独对某一个文件做轮转的配置信息,跟下面的格式一样,目的在于文件太多的时候
都写到主配置文件中,会导致主配置文件太长
create 0664 root utmp 664表示文件权限,root是拥有者,utmp是所属组
minsize 轮转最小大小,表示如果不到1M,即使轮转周期到了,也不要轮转
missingok 即使对一个文件做轮转的时候,这个文件不存在,也不给任何提示,一般不会用他
举例
vim /etc/logrotate.conf
将dateext注释掉,既然是举例子,我们注释掉他,防止同一天生成多个文件,名字一样导致文件覆盖
然后下面的配置内容什么都不写代表使用默认配置
强制轮转:logrotate -f /etc/logrotate.conf
会发现多出来一个mylog.1
再强制轮转一次
/etc/logrotate.d是一个目录,下面存的是单独对某一个文件做轮转的配置信息
表示这些个文件都会参与轮转,而且轮转完之后会执行/bin/kill -HUP....这一个命令
远程日志服务器
这个需要有两台机器
第一台产生日志的机器
存储日志的机器
1.关闭两台服务器的防火墙
/etc/init.d/iptables stop
setenforce 0
2. 在产生日志的服务器上配置文件
vim /etc/rsyslog.conf
以前是指定文件路径
现在改成指定另一台服务器,只需要一句话
*.* @192.168.0.0
只需要指定另一台服务器ip,至于保存到另一台服务器哪里,是靠另一台服务器配置
3.在存储日志的服务器上配置
vim /etc/rsyslog.conf
打开这两行注释,监听514端口
4.两端分别重启日志服务器
/etc/init.d/rsyslog restart