Linux上的日志系统:
syslog
syslog-ng(下一代日志系统):开源
日志系统:syslog
信息详细程度:日志级别
子系统:facility,设施
动作:
syslog服务:
syslogd:系统,非内核产生的信息
klogd:内核,专门负责记录内核产生的日志信息
配置文件:/etc/syslog.conf
配置文件定义格式:facility.priority action
facility,可以理解为日志的来源或设备目前常用的facility有以下几种:
auth #认证相关的
authprity #权限,授权相关的
cron #任务计划相关的
daemon #守护进程相关的
kern #内核相关的
lpr #打印相关的
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/xxx
| #管道 通过管道送给其他的命令处理
终端 #终端 如:/dev/console)
@HOST #远程主机 如:@10.0.0.1
用户 #系统用户 如:root
* #登录到系统上的所有用户,一般emerg级别的日志是这样定义的
定义格式例子:
mail.info /var/log/mail.log #表示将mail相关的,级别为info及以上的所有级别的信息记录到/var/log/mail.log文件中
auth.=info @10.0.0.1 #表示将auth相关的,基本为info的信息记录到10.0.0.1主机上去,前提是10.0.0.1能够接收其他主机发来的日志信息
user.!=error #表示记录user相关的,不包括error级别的信息
user.!error #表示只记录比error低的信息
user.error #表示记录error及以上的所有级别的信息
*.info #表示记录所有的日志信息的info级别信息
mail.* #表示记录mail相关的所有级别的信息
*.* #表示记录所有的日志信息的所有级别信息
cron.info;mail.info #多个日志来源可以用“;"隔开
cron,mail.info #与cron.info;mail.info一个意思
mail.*;mail.!=info #表示记录mail相关的所有级别的信息,但不包括info级别的
例:[root@localhost ~]# cat /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.* /dev/console
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# The authpriv file has restricted access.
authpriv.* /var/log/secure
# Log all the mail messages in one place.
mail.* -/var/log/maillog
# Log cron stuff
cron.* /var/log/cron
# Everybody gets emergency messages
*.emerg *
# Save news errors of level crit and higher in a special file.
uucp,news.crit /var/log/spooler
# Save boot messages also to boot.log
local7.* /var/log/boot.log
You have new mail in /var/spool/mail/root
[root@localhost ~]# chkconfig --list syslog #查看syslog服务在何种级别下开启#
syslog 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
[root@localhost ~]# service syslog status #查看syslog服务运行状态#
syslogd (pid 3028) 正在运行...
klogd (pid 3031) 正在运行...
[root@localhost ~]# service syslog reload #syslog在不重启的情况下,重读syslog配置文件#
Reloading syslogd... [确定]
Reloading klogd... [确定]
[root@localhost ~]# service syslog restart #重启syslog#
kernel -->物理终端(/dev/console)(该文件存放了启动init程序之前产生的信息,由klogd产生并存放在/var/log/dmesg,打开命令dmesg或者cat /var/log/dmesg)
#dmesg 或者 #cat /var/log/dmesg
-->/sbin/init(日志信息由syslogd产生,存放在/var/log/messages)
/var/log/messages:含有系统标准错误日志信息;非内核产生引导信息;各子系统产生的信息;
/var/log/maillog:邮件系统产生的日志信息
/var/log/secure:记录系统登录信息,只允许root查看
日志滚动(日志切割):
阅读(1581) | 评论(0) | 转发(0) |