- 日志介绍
日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录,系统的启动信息 ,系统的安全信息,邮件相关信,各种服务信息 。
日志对于安全来说也特别重要,记录每天发生的各种事情。看是否受到攻击。
日志是用来记录重大事件的工具。 - 常用日志目录
/var/log是用来放日志的目录。
/var/boot.log 系统启动日志
/var/log/cron 记录与定时任务相关的文件。
/var/log/lastlog 记录系统中最后一次登录的日志,这是个二进制文件,直接输lastlog回车,不能用vim ,cat之类的去打开。
/var/log/mailog 邮件日志。
/var/log/message 系统出现问题,首先检查这个日志文件
/var/log/secure 记录验证和授权方面的信息,只要涉及到账户密码的都会记录。
/var/tun/ulmp 只记录当前登录的用户的信息。用who查看。
注意:用echo ‘’ > secure 可以清空文件。 - rsyslogd
后台程序,日志管理服务 - 日志服务配置文件
/etc/rsyslog.conf - 查看rsyslog服务是否启动
ps -aux | grep “rsyslog”
ps -aux | grep “rsyslog” | grep -v | “grep” -v表示反向查询,即过滤掉包含grep的关键词 - 查询rsyslogd的启动状态
systemctl list-unit-files | grep syslog - 日志配置规则
*.* 第一个*表示的日志类型,第二个*表示的日志级别
日志类型:
auth pam产生的日志
authpriv ssh,ftp等登录信息的验证信息
cron 计划任务相关
kerl 内核
lpr 打印
mail 邮件
mark(syslog) Rsyslog服务内部信息,时间标识
news 新闻组
user 用户程序产生的相关信息
uucp unix to unix copy;Unix主机之间相关的通信
local 1-7 自定义的日志设备
日志级别:
7 debug 调试信息的日志,日志信息最多
6 info 一般信息的日志,最常用
5 notice 最具有重要性的普通条件的信息
4 warning 警告级别
3 error 错误级别,阻止某个功能或者模块不能正常工作的信息
2 crit 严重级别,阻止整个系统或者整个软件不能正常工作的信息
1 alert 需要立刻修改的信息
0 emerg 内核崩溃等严重信息
none 不记录任何信息 - 日志文件格式
事件产生的日期时间 主机 进程(pid):事件内容 - 日志轮替
logrotate
配置:/etc/logrotate.conf 和/etc/logrotate.d/
logrotate.conf:
每个礼拜滚一次
weekly
保留4个档,比如第5次更替,那第一次的就没了
rotate 4
建立新的日志来继续存储
create
将日期作为轮替日志的结尾,比如:maillog-20160701
dateext
是否压缩日志,压缩工具gzip,比如:maillog-20160701.gz
compress
子配置文件的包含目录
include /etc/logrotate.d
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}` - cron、rsyslog、logratate 之间的关系
rsyslog:负责将产生的日志分类,打到各个日志文件中
logrotate:负责切割日志
crontab:定时任务在/etc/下面有 cron.hourly cron.daily cron.weekly cron.monthly 等目录,在对应目录下的程序,会按其给定的时间执行一次,比如cron.daily下的程序会每天都执行一次。 - 查看指定的日志信息
journalctl [参数]
注意:journalctl查看的是内存日志,重启后会清空
journalctl | grep sshd
-k 查看内核日志
-b 查看系统本次启动的日志
-u 查看指定服务的日志
-n 指定日志条数
-f 追踪日志
—disk-usage 查看当前日志占用磁盘的空间的总大小