分类:
2012-02-04 16:11:33
原文地址:图解 linux log系统 作者:wwwkljoel
先贴图,怎么样,效果还不错吧,根据个人理解画的,如果不行将就用着吧。
常用命令syslog是一种机制,在wiki中说这种机制可以使用udp,tcp,unix socket等把日志记录在本地或者远程。liunx有个很出名的syslog软件包,其中守护进程部分是sysklogd(我的机器--open suse 10.3--是没有的),它先起来,紧接着启动klogd,从内核或者/proc/kmsg中读取,记录在ring buffer中,等到用户态的守护进程syslogd起来后,就把当时的klogd记录的信息整流到syslogd。记录在/var/log/messages。他们有着分工,syslogd接受用户空间的信息,怎么记录,记录什么有 /etc/syslog.conf 配置。常见有两种接口,C的接口函数是syslog(), shell方面的接口是 logger命令。根本的参数名称可以参考/usr/include/syslog.hklogd 接收内核方面的信息,记录在内存中,这块内存是个循环缓存区,通常叫ring buffer,一般由内核函数printk()发出,类型或者紧急状况有0-7几个数字控制,在/usr/include/linux/kernel.h中有定义。在开启时读取/etc/sysctl.conf的kernel.printk指定,在运行过程中可以向/proc/kmsg 写入数字指定。具体信息有dmesg命令查看。怎么出来个syslog-ng,他是syslogd的第二代,next generation,也是个daemon。配置文件/etc/syslog-ng/syslog.conf. 用哪一个在/etc/sysconfig/syslog的SYSLOG_DAEMON定义。这个过程算是有点眉目了。在shell层,我们常用的是shell中命令 logger。看看logger打印语句
- logger 123456
在/var/log/message会打印
- Feb 4 00:30:26 lux root: 123456
把文件内容打印到messages
- # echo 123456 > tmp
- # logger -f tmp
- # tail /var/log/messages
messages 会打印
- Feb 4 00:33:01 lux logger: 123456
增加自定义类型
- logger -t ttt 123456
在/var/log/message会打印
- Feb 4 00:30:26 lux ttt: 123456
看看吧,他们的":"前面如果什么也不指定是用户名,如果是从文件中打印是父进程的命令名字,指定当然是定制的类型了。更多内容男人(man)一下吧。
常用日志文件w当前系统中每个用户和它所运行的进程信息who当前登录的每个用户users打印出当前登录的用户finger谁在某时某地登录last所有最后登录过的用户ac用户进入和退出来连接的时间
/var/log/boot.log引导过程、开机自检/var/log/croncrond记录的,包括用户、登录时间、PID.../var/log/maillog/var/log/sysloglogin记录下的错误口令、Sendmail的问题、su命令执行失败.../var/log/secure/var/log/lastlog/var/log/wtmp/var/log/utmp/var/log/xferlogFTP会话/var/log/kernlog内核消息
更详细的图片常用命令sysklogd 系统日志记录器klogd和syslogd的交互http://hi.baidu.com/bihailan/blog/item/973a1d8f608530e5f11f36a6.html在红旗上使用syslog-ng日志服务器syslog日志服务器架设攻略syslog wikisyslog.conf 双语http://blog.chinaunix.net/space.php?uid=20422917&do=blog&id=1682944logger logrotatehttp://qubaoquan.blog.51cto.com/1246748/293050linux 日志来龙去脉http://bowen.blog.51cto.com/136148/107113