StupidBirds 2013-04-02
如果说茫茫的大海是通向未知世界的桥梁,那么我们这些航行在海上的游船就需要一个精通航海知识的航海长和书记员。通过航海长和书记员的通力合作,我们才能够在风波诡异的浩瀚大海中向前起航,才能够披荆斩棘、勇往直前。
那么我们Linux的系统自己拥有自己的航海长和书记员么?
“有”,而且我们的航海长和书记员非常认真和详细的记录着系统发生的点滴事件。
Syslog就是针对于我们linux系统自身的航海长,而且有进一步的升级版syslog-ng。
因为系统的各种信息的纷繁复杂,所以我们定义了信息的详细程度,根据信息的详细程度制定了日志的级别。
Syslog:日志系统
Syslogd用来记录系统非内核产生的记录信息
Klogd则用来记录内核产生的信息
这些由syslog产生的日志信息都存储在/var/log/目录下
当内核在运转探测信息时Klogd产生的日志记录在/var/log/dmesg文件中
当内核将管理交接给/sbin/init之后系统日志即转交给syslogd并记录在:
/var/log/messages: 系统标准错误日志信息;非内核产生引导信息,各子系统产生的信息;
/var/log/maillog: 邮件系统产生的日志信息;
/var/log/secure: 系统登录日志
日志信息是每天每时都在产生,那么当超过一定时间之后文件必定会变得庞大无比,这时我们在查看系统日志的时候就会更多的占用我们的系统资源。这时logrotate就派上用处了。Logrotate是用来做日志滚动的命令,它能够实现日志的定时自我切割和保留条目的设置,非常方便的就将日志文件给备份保留了。
在/etc/cron.daily/目录下有一个logrotate的计划任务,通过在/etc/logrotate.conf的配置文件进行管理和设置,同时还在/etc/logrotate.d/目录下的众多子任务进行日志的配置。
全局的syslog日志系统有一个配置文件/etc/syslog.conf
使用Log4j的SystemLogAppender可以实现远程的日志输出,为集中式的日志管理提供便利。/etc/init.d/syslog start3. 在写日志的客户机上,修改log4j配置文件: