rsyslogd日志管理
课程大纲
1.日志管理简介
2.rsyslogd日志服务
3.日志轮替
日志管理就是可以保存系统所有的想记录的信息
首先要确定服务启动。
ps aux | grep rsyslogd #查看服务是否启动
chkconfig --list | grep rsyslog #查看服务是否启动
rsyslog的配置文件位置:/ect/rsyslog.conf
常见日志的作用
/var/log/cron 记录了系统定时任务相关的日志
/var/log/cups 记录打印信息的日志
/var/log/dmesg 记录了系统在开机时内核自检信息。也可以使用dmesg命令直接查看内核自检信息。
/var/log/btmp 记录错误登录日志
/var/log/lastlog 记录系统中所有用户最后一次的登录时间日志。这个文件也是二进制文件不能用vi编辑,要用lastlog命令查看
日志等级
debug 一般的调试信息说明
info 基本通知信息
notice 普通信息,但是有一定的重要性
warning 警告信息,但是还不会影响到服务或系统的运行
err 错误信息,一般达到err等级的信息以及可以影响到服务或系统的运行了
crit 临界状况信息,比err等级还要严重
alert 警告信息,比crit还要严重,必须立即采取行动
emerg 疼痛等级信息,系统已经无法使用了
日志文件格式
基本日志格式包含以下四列:
1时间产生的时间
2发生时间的服务器主机名
3产生事件的服务名称或程序名称
4时间的具体信息
rsyslog服务名称
auth 安全和认证相关消息
authpriv 安全和认证相关消息(私有的)
cron 系统定时任务cront和at产生的日志
daemon 和各个守护进程相关的日志
ftp ftp守护进程产生的日志
kern 内存产生的日志
local0-local7 为本地使用预留的服务
lpr 打印产生的日志
mail 邮件收发信息
news 与新闻服务器相关的日志
syslog 有syslogd服务产生的日志信息
user 用户等级类别的日志信息
uucp uucp子系统的日志信息,uucp是早期linux系统进行数据传递的协议,后来也常用在新闻组服务中
日志文件的命名规则
如果配置文件用拥有dateext参数,那么日志会用日期来作为日志文件的后缀,例如secure-20130605 这样的话日志文件名就不会重叠,所以也就不需要日志文件改名,只需要保存指定的日志个数,删除多余的日志文件即可
如果配置文件中没有dateext参数,那么日志文件就需要进行改名了。当第一次进行日志轮替时,当前的secure 日志会自动改名为secure.1,然后新建secure日志,用来保存新的日志。当第二次进行日志轮替时,secure.1会自动改名为secure.2,当前的secure日志会自动改名为secure.1。然后新建一个secure日志,来保存新的日志,以此类推。
logrotate 命令
logrotate 选项 配置文件名
选项:
如果此命令没有选项,则会按照配置文件中的条件进行日志轮替
-v:显示日志轮替过程。加了v选项,会显示日志的轮替过程
-f:强制进行日志轮替。不管日志轮替的条件是否已经符合,强制配置文件中所有日志进行轮替
如果
logrotate配置文件详解
daily 日志的轮替周期是每天
weekly 日志轮替的周期是每周
monthly 日志的轮替周期是每月
rotate 数字 保留的日志文件的个数 0指没有备份
compress 日志轮替时,旧的日志进行压缩
create mode owner group 建立新日志,同时指定新日志的权限与所有者和所属组。如 create 0600 root utmp
如果是rpm安装包安装的软件,一切用默认值就可以了。
如果是源码包安装的软件或服务就需要手动修改日志轮替
例如把apache日志接入轮替
vi /etc/logrotate.conf修改这个文件 加入一下内容
/usr/local/apache2/logs/access_log {
daily
create
rotate 30
}