#rsyslog简介
syslog:系统非内核
klogd:内核
rsyslog:remote远程日志
判断故障发生的原因:
1.分类
a/内核及系统日志:有rsyslog统一管理
b/用户日志:记录用户的登录、退出、终端等信息
c/程序日志:应用程序独立的日志
[root@localhost 桌面]# grep -v “^#” /etc/rsyslog.conf | grep -v “^$”
{mail.notice
服务.日志级别}
var/log/messages 大部分信息
时间:消息发出的时间和日志
主机名:生成消息的计算机的主机名
子系统名称:发出消息的应用程序的名称
消息内容:消息的具体内容
常见的日志“
/avr/log/:
messages:系统和服务错误
boot.log:开机引导过程中产生的信息
cron:计划任务出错
dnneaag:引导过程中的错误信息
maillog:电子邮件的活动信息
lastlig:最后一次童虎登录的活动信息
secure:系统安全日志、用户变化、登录认证等信息
syslog:告警信息,系统出问题的信息、启动等last查看
wtmp:用户登录的注销信息
btmp:错误失败信息 last查看
utmp:每个用户的登录信息 往后我users finger
日志几倍:
8:none
7:debup
6infonotic
5warnibg
4warning运行中出了问题
3.rerro:ysnxhong cuoeu
2.crit:严重错误 软件错了
1 aieri: 系统错误
0 emerg:硬件错误
rsyslog包含的服务:
auth 认证相关
authpriv 授权相关
cron 计划相关
darmon 进程相关
kern 内核相关
lpr 打印相关
mail 邮件服务
mark 标记相关
news 新闻信息
security 安全相关
syslog 自己
user 用户相关
uucp unix to unix cp相关
local0-local7 自定义服务
-
所有facility
例子 mail.notice /var/log/mail.log
auth.=info @10.1.1.1
user.!=error user服务不记录error
user.!error 除掉error以外的
.info 所有服务的info级别
mail. mail所有级别日志
. 多个日志使用”;“ 分割
lsattr
语法: #lsattr [-aR]
参数说明:
-a :将隐藏文件的属性也列出来;
-R :连同子目录的数据也一并列出来!
范例:
chattr +i .bash_logout ——>添加一个隐藏的“i”属性,后面再细讲
#lsattr -a ——>将当前目录的文件或目录下的文件所有属性(包括隐藏属性)列出
——————— ./.
——————— ./…
—i————— ./.bash_logout
——————— ./.bash_profile
——————— ./.bashrc
chattr
语法:#chattr [±=][ASacdistu] [档案或目录名称]
参数说明:
±= :分别为 [+ 增加] [- 减少] [= 设定] 属性的意思
A :当设定了 A 这个属性时,这个档案(或目录)的存取时间
atime (access) 将不可被修改, 可避免例如手提式计算机容易有磁盘 I/O 错误的情况发生!
S :这个功能有点类似 sync 的功能!就是会将数据同步写入磁盘当中!可以有效的避免数据流失!
a :当设定 a 之后,这个档案将只能增加数据,而不能删除,只有 root 才能设定这个属性。针对目录
c :这个属性设定之后,将会自动的将此档案『压缩』,在读取的时候将会自动解压缩出来,但是在储存的时候,将会先进行压缩之后再储存(看来对于大档案似乎蛮有用的!)
d :当 dump (备份)程序被执行的时候,设定 d 属性将可使该档案(或目录)具有 dump 功效!
i :这个 i 可就很厉害了!他可以让一个档案『不能被删除、改名、设定连结也无法写入或新增数据!对于系统安全性有相当大的帮助!
j :当使用 ext3 这个档案系统格式时,设定 j 属性将会使档案在写入时先记录在 journal 中! 但是当 filesystem 设定参数为 data=journalled 时,由于已经设定了日志了,所以这个属性无效!
s :当档案设定了 s 参数时,他将会被完全的移除出这个硬盘空间。
u :与 s 相反的,当使用 u 来设定档案时,则数据内容其实还存在磁盘中,可以使用来 undeletion.
范例:
#chattr +i /etc/shadow ——>添加“i”隐藏属性后,就无法更动这个文件了
#chattr -i /etc/shadow ——>解除"i"这个隐藏属性
[root@localhost 桌面]# grep -v “^#” /etc/rsyslog.conf | grep -v “^$”
日志采集:
[root@localhost ~]# vim /etc/rsyslog.conf
[root@localhost ~]# /etc/init.d/rsyslog restart
[root@localhost ~]# useradd xdd
[root@localhost ~]# su xdd
[xdd@localhost root]$ su
密码:
[root@localhost ~]# cat /usr/local/secure
[root@localhost ~]# lsattr /usr/local/secure
-------------e- /usr/local/secure
#vim是编辑不了这个文件的,只可以有内容被追加进去
[root@localhost ~]# vim /etc/rsyslog.conf
[root@localhost ~]# /etc/init.d/rsyslog resyart
日志轮滚: logrotate
[root@localhost ~]# grep -v “^#” /etc/logrotate.conf | grep -v “^$”
weekly:按周轮滚
rotate 4:日志文件保存四周
create:轮滚后是否创建新的日志
dateext:日志轮滚的日期格式
include /etc/logrotate.d:包含这个路径下的文件
日志轮滚参数:
1.compress:gizp 压缩
2.nocpmpress 不压缩
3.copytruncate 用于还在打开中的日志文件,先保存在清空
4.no copytruncate 不截断
create mode owner group
nocreate
delaycompress
nodelaycompress
missing ok 丢失也没问题
errors address报错发邮件
ifempty 即使空文件也切割
noifempty 空文件不轮询
maill address 把轮询的文件发送到一个邮件上
oldir dirctory 转存后的文件放到指定目录
noolddir 转存后和源文件放在一起
sharedscrpts 转存使用的脚本
prerotate 转存之前
postrotate 转存之后
daily
weekly:每周一次
mothly:每个月一次
rotate count 0 0代表没有备份
dateext 增加日期作为后缀
size = 10k当日志到达这么大的时候就开始轮滚
size = 100M 当日志到达这么大的时候就开始轮滚
[root@localhost ~]# chattr -a /usr/local/secure