本文主要是介绍linux syslogd 守护进程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
syslog 简介
syslog是一种工业标准的协议,可用来记录设备的日志。在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。管理者可以通过查看系统记录,随时掌握系统状况。UNIX的系统日志是通过syslogd这个进程记录系统有关事件记录,也可以记录应用程序运作事件。通过适当的配置,我们还可以实现运行syslog协议的机器间通信,通过分析这些网络行为日志,藉以追踪掌握与设备和网络有关的状况。
syslog 配置文件
syslog配置文件是/etc/syslog.conf文件(在 ubuntu 1404 中 是 /etc/rsyslog.conf)。syslog守护进程是可配置的,它允许人们为每一种类型的系统信息精确地指定一个存放地点。现在,我们先看看syslog.conf文件的配置行格式(这个文件里的每一个配置行都是同样的格式)。
syslog 配置行的格式如下:
消息类型.优先级 动作域
mail.* /var/log/mail.log
这一行由两个部分组成。第一个部分是一个或多个“选择条件”;上例中的选择条件是“mail”。选择条件后面跟一些空格字符,然后是一个“操作动作”;上例中的操作动作是:/var/log/mail.log
- 选择条件
选择条件本身分为两个字段,之间用一个小数点(.)分隔。前一字段是一项服务,后一字段是一个优先级。选择条件其实是对消息类型的一种分类,这种分类便于人们把不同类型的消息发送到不同的地方。在同一个syslog配置行上允许出现一个以上的选择条件,但必须用分号(;)把它们分隔开。上面给出的例子里只有一个选择条件“mail”。
消息类型 消息来源 kern 内核 user 用户程序 damon 系统守护进程 mail 电子邮件系统 auth 与安全权限相关的命令 lpr 打印机 news 新闻组信息 uucp uucp 程序 cron 记录当前登陆的每个用户信息 wtmp 一个用户每次登陆进入和退出时间的永久记录 authpriv 授权信息
- 优先级
优先级是选择条件的第二个字段,它代表消息的紧急程度。对一个应用程序来说,它发出的哪些消息属于哪一种优先级是由当初编写它的程序员决定的,应用程序的使用者只能接受这样的安排——除非打算重新编译系统应用程序。下表按严重程度由低到高的顺序列出了所有可能的优先级。
优先级 描述 emerg 最高紧急程度状态 alert 紧急状态 cirt 重要信息 warning 警告 err 临界状态 notice 出现不寻常的事情(异常) info 一般性消息 debug 调试级信息 none 不记录任何日志信息 不同的服务类型有不同的优先级,数值较大的优先级涵盖数值较小的优先级。如果某个选择条件只给出了一个优先级而没有使用任何优先级限定符,对应于这个优先级的消息以及所有更紧急的消息类型都将包括在内。比如说,如果某个选择条件里的优先级是“warning”,它实际上将把“warning”、“err”、“crit”、“alert”和“emerg”都包括在内
- 优先级限定符
syslog允许使用三种限定符对优先级进行修饰:星号(*)、等号(=)和叹号(!)。星号(*)的含义是“把本项服务生成的所有日志消息都发送到操作动作指定的地点”。就像它在规则表达式里的作用一样,星号代表“任何东西”。在前面给出的例子里,“mail.*”将把所有优先级的消息都发送到操作动作指定的/var/log/mail文件里。使用“*”限定符与使用“debug”优先级的效果完全一样,后者也将把所有类型的消息发送到指定地点。等号(=)的含义是“只把本项服务生成的本优先级的日志消息都发送到操作动作指定的地点”。比如说,可以用“=”限定符只发送调试消息而不发送其他更紧急的消息(这将为应用程序减轻很多负担)。当你只需要发送特定优先级别的消息时,就要使用等号限定符。就像它在编程时的用法一样,等号意味着等于且仅等于。叹号(!)的含义是“把本项服务生成的所有日志消息都发送到操作动作指定的地点,但本优先级的消息不包括在内”。
如果需要重新启动 syslog 守护进程(修改了 syslog 的配置文件后必须重启 syslog 守护进程才会生效)命令如下:(ubuntu 1404)
sudo /etc/init.d/rsyslog restart
这篇关于linux syslogd 守护进程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!