syslogd和klogd
2013-11-11 10:51
866 查看
◆syslog
这个服务程序太重要了,大部分的系统维护都会用到它,也就是网络或系统管理员经常用到的log 文件。daemon在执行时其实是执行两个程序:syslogd和klogd,介绍如下,其分别负责不同种类的log,但全部的信息在系统刚开完机之后,会全部存放在/var/log/message。
? klogd
先介绍klogd是因为当一开始写入/var/log/message时,klogd所记录的信息会比syslogd 的顺序优先,原因是klogd所记录的是尚未进入操作系统的信息,但其实一开始的这些信息并不是由klogd所记录的,而是自加载kernel 时,就已经开始记录的。在系统尚未进入操作系统阶段,还在加载kernel及执行initrd时,会将信息先记录在/proc/kmsg文件中(因为在initrd阶段没有实体硬盘可供记录),等进入操作系统执行完klogd后,klogd再将/proc/kmsg的所有内容全数填入/var/log/message文件中,这也是为何在/var/log/message文件的一开始,依然可以看到刚开机在加载kernel以及initrd阶段的信息(如图5-13中连CPU的启用都看得到,信息中也注明了是kernel的信息)。
常用到的dmesg指令其实也就是将klogd检测出来的kernel信息,它直接通过console呈现在用户面前。在进入操作系统之后,kernel当然还在运行,而此时的kernel若检测到内部错误发生,klogd则会通过/boot/System.map文件找到kernel所在,如此一来,kernel就可以直接通过klogd的管道将信息再度呈现在用户面前。
? syslogd
在klogd填入所有kernel加载及initrd阶段的信息之后,接着执行的就是这一节所提到的服务级程序,而这些程序所产生的信息,就由syslogd负责整理,所以,这些信息会直接加在刚刚klogd的信息后面。在进入操作系统后就没有依照klogd或syslogd的顺序,只要产生信息,就直接依/etc/syslog.conf文件的定义,写入/var/log/message信息文件。
图5-14 的方框就是在kernel信息结束后其中一个xinetd服务激活的信息,从图中的第一行可以看出kernel信息结束后,紧跟着就是服务软件的信息。
从/etc/syslog.conf文件可以找出所有目前系统通过syslogd所记录的信息,有时候在找某软件的信息时,也可以从这个文件中看出要以哪一个信息文件为主,当然前提是该软件必须支持syslogd的信息记录格式。
这个服务程序太重要了,大部分的系统维护都会用到它,也就是网络或系统管理员经常用到的log 文件。daemon在执行时其实是执行两个程序:syslogd和klogd,介绍如下,其分别负责不同种类的log,但全部的信息在系统刚开完机之后,会全部存放在/var/log/message。
? klogd
先介绍klogd是因为当一开始写入/var/log/message时,klogd所记录的信息会比syslogd 的顺序优先,原因是klogd所记录的是尚未进入操作系统的信息,但其实一开始的这些信息并不是由klogd所记录的,而是自加载kernel 时,就已经开始记录的。在系统尚未进入操作系统阶段,还在加载kernel及执行initrd时,会将信息先记录在/proc/kmsg文件中(因为在initrd阶段没有实体硬盘可供记录),等进入操作系统执行完klogd后,klogd再将/proc/kmsg的所有内容全数填入/var/log/message文件中,这也是为何在/var/log/message文件的一开始,依然可以看到刚开机在加载kernel以及initrd阶段的信息(如图5-13中连CPU的启用都看得到,信息中也注明了是kernel的信息)。
常用到的dmesg指令其实也就是将klogd检测出来的kernel信息,它直接通过console呈现在用户面前。在进入操作系统之后,kernel当然还在运行,而此时的kernel若检测到内部错误发生,klogd则会通过/boot/System.map文件找到kernel所在,如此一来,kernel就可以直接通过klogd的管道将信息再度呈现在用户面前。
? syslogd
在klogd填入所有kernel加载及initrd阶段的信息之后,接着执行的就是这一节所提到的服务级程序,而这些程序所产生的信息,就由syslogd负责整理,所以,这些信息会直接加在刚刚klogd的信息后面。在进入操作系统后就没有依照klogd或syslogd的顺序,只要产生信息,就直接依/etc/syslog.conf文件的定义,写入/var/log/message信息文件。
图5-14 的方框就是在kernel信息结束后其中一个xinetd服务激活的信息,从图中的第一行可以看出kernel信息结束后,紧跟着就是服务软件的信息。
从/etc/syslog.conf文件可以找出所有目前系统通过syslogd所记录的信息,有时候在找某软件的信息时,也可以从这个文件中看出要以哪一个信息文件为主,当然前提是该软件必须支持syslogd的信息记录格式。
相关文章推荐
- klogd和syslogd
- linux中的日志服务syslogd|klogd学习
- linux日志:syslogd和klogd
- syslogd & klogd
- 守护进程klogd和syslogd
- Linux中的log介绍(四)--klogd与syslogd的交互
- klogd和syslogd
- 菜鸟学Linux 第038篇笔记 日志系统 syslogd,klogd
- printk,klogd,syslogd 关系
- Linux系统的常见随机启动服务进程:syslogd,klogd,irqbalance,crond,xfs,anacron
- klogd&syslogd与dmesg-嵌入式系统获取linux内核log
- syslogd & klogd
- 关于syslogd与klogd
- syslogd守护进程配置文件说明
- 打印调试技术 printk klogd dmesg(解决打印信息的问题)
- linux下 syslogd以及syslog.conf文件解读说明
- iOS攻防 - (十三)基本工具的使用OpenSSH, iFile, MTerminal和syslogd
- 打印调试技术 printk klogd dmesg
- 关于syslogd和kmsgd服务
- 全面剖析syslogd