linux日志管理基础教程

发布时间:2019-10-27编辑:脚本学堂
本文介绍了linux下日志管理的相关内容,linux操作系统通过日志来记录系统,程序,用户发生的各种事件,如何管理这些日志呢,感兴趣的朋友参考下本文的内容吧。

一,linux操作系统通过日志来记录系统,程序,用户发生的各种事件。
1),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.nonemail表示服务或者监视的对象,日志记录按照重要的等级分为
debug,info,warning,error,crit,emerg。none表示不属于等级中的任何一个。
*.info表示监视所有的系统,程序和用户日志。.info表示包括info信息以及warn error等。

2)、消息发送的位置
本地文件 : 为绝对路径
打印机:设备文件
远程服务器:   @IP_ADRESS
*   :  表示发给所有人。

二,如果要将日志存储到另一台服务器上步骤如下:

第一步:
在/etc/rsyslog.conf配置文件中加入要传递的日志等级及需要记录的服务
cron.info  @172.168.25.28   (用@符号表示使用的是UDP协议,用@@表示用TCP协议)

第二步:
在存放日志的服务器中修改配置文件/etc/rsyslog配置文件,将远程日志功能启用。

第三步:
关闭远程服务器的防火墙

第四步:
重启日志服务service rsyslog restart.

三,日志文件介绍
 

/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 ---------------当前登录的每个用户的详细信息

四,用户登录分析
last   命令查看所有登录过的用户的信息
lastlog
accton命令用来监视用户登录时使用过的命令,但是只有在开启的情况下才监视。

使用方法:
第一步:accton  /vat/account/pacct启用用户行为监控
第二步:lastcomm  --user  root 查看root用户使用过的命令
第三步: accton   停用监控服务。

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

六,日志轮转功能。
由于日志文件在经历一段时间后会变得越来越大,这就需要日志轮转,所谓日志轮转就是将一个时间段的日志存储到另一个文件中,之后的日志记录又从现阶段开始。
日志轮转命令:logrotate
logrotate配置文件为:/etc/logrotate.conf。

其中重要字段:
 

rotate  4   经过四个轮转周期备份一次
sharedscripts  脚本执行定义的头部
endscripts 脚本执行定义的尾部
postrotate   在日志开始轮转之后执行脚本标志
prerotate   在日志轮转之前执行脚本标志

工作中用法:
给日志加上 chattr +a  /var/log/mylog,在一个轮转周期开始前在prerotate中去掉该权限,chattr -a /var/log/mylog。
然后,在postrotate中再加上该权限。