Linux系统日志管理
系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。系统日志包括系统日志、应用程序日志和安全日志。
- 一、处理日志的进程
rsyslogd: 系统专职日志程序。处理绝大部分日志记录,系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息 - 二、rsyslogd配置
1.确认相关程序已安装
yum -y install rsyslog logrotate
2.启动程序
systemctl start rsyslog.service
3.相关文件 rpm -qc rsyslog
/etc/rsyslog.conf rsyslogd的主配置文件(关键)
/etc/sysconfig/rsyslog rsyslogd相关文件,定义级别(了解一下)
/etc/logrotate.d/syslog 和日志办轮转(切割)相关(任务二) - 三、常见的日志文件(系统、进程、应用程序)
tail -10 /var/log/messages //系统主日志文件
tail -f /var/log/messages //动态查看日志文件的尾部
tailf /var/log/secure //认证、安全
tail /var/log/yum.log //yum
tail /var/log/maillog //跟邮件postfix相关
tail /var/log/cron //crond、at进程产生的日志
tail /var/log/dmesg //和系统启动相关
tail /var/log/audit/audit.log //系统审计日志
tail /var/log/mysqld.log //MySQL
tail /var/log/xferlog //和访问FTP服务器相关
tail /var/log/wtmp //当前登录的用户(命令:w)
tail /var/log/btmp //最近登录的用户(命令last)
tail /var/log/lastlog //所有用户的登录情况(命令lastlog ) - 四、主配置文件 vim /etc/rsyslog.conf
RULES:即规则,是一套生成日志,以及存储日志的策略。
规则由设备+级别+存放位置组成。RULES由FACILITY+LEVEL+FILE组成。
authpriv.* /var/log/secure(SSH信息)
mail.* -/var/log/maillog(发邮件)
这里有一个-符号, 表示是使用异步的方式记录, 因为日志比较大时,需要此方法防止占用内存
cron.* /var/log/cron(创建任务)
FACILITY设备
LOG_SYSLOG //syslogd自身产生的日志
LOG_AUTHPRIV //安全认证
LOG_CRON //(cron and at)
LOG_MAIL // 邮件系统mail subsystem
LOG_USER (default) //用户相关
LOG_DAEMON //后台进程
LOG_FTP //ftp daemon
LOG_KERN //kernel messages
LOG_LPR //打印机 printer subsystem
LOG_LOCAL0 through LOG_LOCAL7 //用户自定义设备
LEVEL级别 (从下到上,级别从低到高,记录的信息越来越少)
LOG_EMERG 紧急,致命,服务无法继续运行,如配置文件丢失
LOG_ALERT 报警,需要立即处理,如磁盘空使用95%
LOG_CRIT 致命行为
LOG_ERR 错误行为
LOG_WARNING 警告信息
LOG_NOTICE 普通,重要的标准信息
LOG_INFO 标准信息
LOG_DEBUG 调试信息,排错所需,一般不建议使用 - 五、logrotate日志轮转
日志 记录了程序运行时各种信息。通过日志可以分析用户行为,记录运行轨迹,查找程序问题。
日志轮转就像飞机里的黑匣子,记录的信息再重要也只能记录最后一段时间发生的事。为了节省空间和整理方便,日志文件经常需要按!时间或!大小等维度分成多份,删除时间久远的日志文件。
1.配置文件介绍
weekly //轮转的周期,一周轮转
rotate 4 //保留4份
create //轮转后创建新文件
dateext //使用日期作为后缀
#compress //是否压缩
include /etc/logrotate.d //包含该目录下的子配置文件
2.对某日志文件设置轮转的方法
/var/log/wtmp {
missingok //丢失不提示
notifempty //空文件不论转
monthly //一月轮转一次
minsize 1M //最小达到1M才轮转,没超过1M时,即使到了一个月也不轮转
maxsize 100M //最大达到100M就轮转,超过100M时,即使没到一个月也会轮转
create 0664 root utmp //轮转后创建新文件,并设置权限
rotate 1 //保留一份
}