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