首页 百科知识 书写系统日志

书写系统日志

时间:2022-10-10 百科知识 版权反馈
【摘要】:大部分的Linux系统中都要使用syslog工具,syslog相当灵活,能使系统根据不同的日志输入项采取不同的活动。syslog工具由一个守护程序组成,它能接受访问系统的日志信息并且根据/etc/syslog.conf配置文件中的指令处理这些信息。缺省时,在/etc/syslog.conf记录中指定的级别为该级别和更高级别。缺省时,syslogd将忽略使其从一个远程系统传送日志信息到另一个系统的/etc/syslog.conf输入项。

8.2.1 书写系统日志

对于系统日志的书写,涉及不同的配置文件与程序,下面就这些文件与关联的程序进行讲解。

1.syslogd

大部分的Linux系统中都要使用syslog工具,syslog相当灵活,能使系统根据不同的日志输入项采取不同的活动。syslog工具由一个守护程序组成,它能接受访问系统的日志信息并且根据/etc/syslog.conf配置文件中的指令处理这些信息。它能设置成根据输出信息的程序或重要程度将信息排序到不同的文件。例如,由于内核信息更重要且需要有规律地阅读以确定问题出在哪里,所以要把内核信息与其他信息分开来,单独定向到一个分离的文件中。因此,任何希望生成日志信息的程序都可以向syslog接口呼叫生成该信息。通常,syslog接受来自系统的各种功能的信息,每个信息都包括重要级。/etc/syslog.conf文件通知syslogd如何根据设备和信息重要级别来报告信息。日志文件通常存放在“/var/log”目录下。为了查看日志文件的内容必须要有“root”权限。日志文件中的信息很重要,只能让超级用户有访问这些文件的权限。

2./etc/syslog.conf

/etc/syslog.conf文件的使用形式如下:

facility level action

空白行和以#开头的行忽略。应该使用一次或多次tab键分隔facility和action,大部分Linux使用这些空格为分隔符。现在分析一下/etc/syslog.conf中的三个要素。

facility指定syslog功能,主要包括以下这些:

·auth:由pam_pwdb报告的认证活动。

·authpriv:包括特权信息,如用户名在内的认证活动cron与cron和at有关的信息。

·daemon:与inetd守护进程有关的信息。

·kem:内核信息,首先通过klogd传递。

·lpr:与打印服务有关的信息。

·mail:与电子邮件有关的信息。

·mark:syslog内部功能用于生成时间戳。

·news:来自新闻服务器的信息syslog,由syslog生成的信息。

·user:由用户程序生成的信息。

·uucp:由uucp生成的信息local0——local7与自定义程序使用,例如使用local5做为ssh功能,通配符*代表除了mark以外的所有功能与每个功能对应的优先级是按一定顺序排列的,emerg是最高级,其次是alert,依次类推。缺省时,在/etc/syslog.conf记录中指定的级别为该级别和更高级别。如果希望使用确定的级别可以使用两个运算符号!(不等)和=。

·user=info:表示告知syslog接受所有在info级别上的user功能信息。

syslog级别如下:

·emerg或panic:为该系统不可用。

·alert:需要立即被修改的条件。

·crit:阻止某些工具或子系统功能实现的错误条件。

·err:阻止工具或某些子系统部分功能实现的错误条件。

·warning:预警信息。

·notice:具有重要性的普通条件。

·info:提供信息的消息。

·debug:不包含函数条件或问题的其他信息。

·none:没有重要级,通常用于排错*所有级别。

除了none action字段所表示的活动具有许多灵活性,特别是,可以使用名称管道的作用是可以使syslogd生成后处理信息。

syslog主要支持以下活动:

file指定文件的绝对路径,terminal或print完全的串行或并行设备标志符@host远程的日志服务器,username发送信息到使用write的指定用户中,named pipe指定使用mkfifo命令来创建的FIFO文件的绝对路径。

3.调用syslogd守护程序

Syslog守护程序是由/etc/rc.d/init.d/syslog脚本在运行级下被调用的。缺省不使用选项。但有两个选项-r和-h很有用。

如果将要使用一个日志服务器,必须调用syslogd-r。缺省情况下syslog不接受来自远程系统的信息。当指定-r选项,syslogd将会监听从514端口上进来的UDP包。

如果还希望日志服务器能传送日志信息,可以使用-h标志。缺省时,syslogd将忽略使其从一个远程系统传送日志信息到另一个系统的/etc/syslog.conf输入项。

4.klogd守护进程

klogd守护进程获得并记录Linux内核信息。通常,syslogd会记录klogd传来的所有信息,然而,如果调用带有-f filename变量的klogd时。klogd就在filename中记录所有信息,而不是传给syslogd。当指定另外一个文件进行日志记录时,klogd就向该文件中写入所有级别或优先权,klogd中没有和/etc/syslog.conf类似的配置文件,使用klogd而避免使用syslogd的好处在于可以查找大量错误。如果有人入侵了内核,使用klogd可以修改错误。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈