linux上的日志系统
syslog
syslog-ng
开源
商业
日志级别:信息详细程度。
子系统:facility,设施。
动作:
日志滚动(日志切割):
#logrotate [OPTION] 滚动、压缩或邮件系统日志。
配置文件:
/etc/logrotate.conf
计划任务文件:
/etc/cron.daily/logrotate
各子系统日志滚动机制:
/etc/logrotate.d/*
syslog:
syslog服务:
syslog服务脚本:
/etc/rc.d/init.d/syslog
配置文件:
/etc/sysconfig/syslog
SYSLOG_OPTIONS="OPTION"
-r 允许接受并记录远程主机的日志。
syslogd:系统,非内核系统产生的信息。
/sbin/init
/var/log/messages:
系统标准错误日志信息。
非内核产生的引导信息,
各子系统产生的信息。
/var/log/maillog
邮件系统产生的日志信息。
/var/log/secure
安全相关。权限为600。
配置文件:
修改后reload syslog服务让配置文件生效。
/etc/syslog.conf
格式如下:
facility.priority action
facility:日志来源或设备
auth 认证相关的
authpriv 权限,授权相关的
cron 任务计划相关的
daemon 守护进程相关的
kern 内核相关的
ipr 打印相关的
mail 邮件相关的
mark 标记相关的
news新闻相关的
security 安全相关的,于auth累死
syslog syslog自己的
user 用户相关的
uucp unix to unix cp相关的
local0~local7 用户自定义使用
* 表示所有的facility
priority:日志级别(log level),级别越低记录的信息越详细。从低到高如下
debug 程序或系统的调试信息
info 一般信息
notice 不影响正常功能,需要注意的消息
warning/warn 可能影响系统功能,需要提醒用户的重要事情
err/error 错误信息
crit 比较严重的
alert 必须马上处理的
emerg/panic 会导致系统不可用的
* 表示所有的日志级别
none 表示空
action:动作。日志记录的位置。
绝对路径 普通文件。若文件前有-表示异步写入(先不写入硬盘,保存在内存中。例如/var/log/FILE
| 管道。通过管道交由其他命令处
终端 终端。例如/dev/console
@HOST|IP远程主机。例如@10.0.0.156
USER 系统用户。例如root
* 登录到系统上的所有用户,
例如:
mail.info /var/log/mail.log 将mail相关的,级别为info及以上的的日志存放到/var/log/mail.log中
auth.=info @10.0.0.156 将mail相关的,级别为info的日志存放到远程主机10.0.0.156中。
user.!=error 将user相关的,除error级别外都记录
user.!error 将user相关,低于error级别的都记录。
*.info 将所来源所有info级别和以上的日志都记录。
mail.* mail有关的所有日志。
*.* 所有记录都记录
cron.info;mail;info 多个来源用;隔开
cron,mail.info 同级别的不同来源用,隔开
mail.*;mail.!=info mail相关的,除info级别外都记录。
klogd:内核,专门负责记录内核产生的日志信息。
kernel初始化完成后,屏幕上显示的信息是在物理终端内(/dev/console)显示,保存到/var/log/dmesg中。可以使用cat或者是dmesg命令查看。
#cat /var/log/dmesg
#dsemg