linux之日志管理


1:linux操作系统通过日志来记录系统,程序,用户发生的各种事件。
a. linux中的日志操作工具为: rsyslog命令。
rsyslog命令的配置文件为:/etc/rsyslog.conf。
具体字段含义如下:
*.info;mail.none;authpriv.none;cron.none /var/log/messages
mail.info /var/log/maillog
authpriv.none /var/log/secure
cron.* /var/log/cron
具体字段解释:
mail.none mail表示服务或者监视的对象,日志记录按照重要的等级分为
debug,info,warning,error,crit,emerg。none表示不属于等级中的任何一个。
*.info表示监视所有的系统,程序和用户日志。.info表示包括info信息以及warn error等。

b. 消息发送的位置
本地文件 : 为绝对路径
打印机: 设备文件
远程服务器: @IP_ADRESS
* : 表示发给所有人。
2:如果要将日志存储到另一台服务器上步骤如下:
第一步:
在/etc/rsyslog.conf配置文件中加入要传递的日志等级及需要记录的服务
cron.info @172.168.25.28 (用@符号表示使用的是UDP协议,用@@表示用TCP协议)
第二步:
在存放日志的服务器中修改配置文件/etc/rsyslog配置文件,将远程日志功能启用。
第三步:
关闭远程服务器的防火墙。
第四步:
重启日志服务 service rsyslog restart.

3:日志文件介绍
/var/log/secure -----------记录用户的登录认证
/var/log/cron ------------记录计划任务的操作
/var/log/maillog --------------记录邮件服务
/var/log/boot.log -------------记录开机启动的信息
/var/log/messages --------------内核及公共日志
/var/log/dmesg --------------内核加载驱动日志
/var/log/lastlog : --------------最近的用户登录事件
/var/log/wtmp --------------用户登录,注销及系统开,关机事件
/var/log/utmp ---------------当前登录的每个用户的详细信息

4:用户登录分析
last 命令查看所有登录过的用户的信息
lastlog
accton命令用来监视用户登录时使用过的命令,但是只有在开启的情况下才监视。使用方法
第一步: accton /vat/account/pacct 启用用户行为监控
第二步: lastcomm --user root 查看root用户使用过的命令
第三步: accton 停用监控服务。

5:主动添加日志
使用logger命令可以手动为日志文件添加日志。在脚本维护中,可以用来在日志中做标记。
日志管理需要及时做好备份,控制日志访问权限,集中管理日志。

6: 日志轮转功能。
由于日志文件在经历一段时间后会变得越来越大,这就需要日志轮转,所谓日志轮转就是将一个时间段的日志存储到另一个文件中,之后的日志记录又从现阶段开始。
日志轮转命令:logrotate
logrotate配置文件为:/etc/logrotate.conf。
其中重要的字段意思如下:
rotate 4 经过四个轮转周期备份一次
sharedscripts 脚本执行定义的头部
endscripts 脚本执行定义的尾部
postrotate 在日志开始轮转之后执行脚本标志
prerotate 在日志轮转之前执行脚本标志
工作中用法: 给日志加上 chattr +a /var/log/mylog,在一个轮转周期开始前在prerotate中去掉该权限,chattr -a /var/log/mylog。然后在postrotate中再加上该权限。

相关内容

    暂无相关文章