您的位置:首页 > 运维架构 > Linux

linux syslogd 守护进程

2015-09-07 11:33 281 查看
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新闻组信息
uucpuucp 程序
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 的配置文件后必须重启 syslog 守护进程才会生效)命令如下:(ubuntu 1404)
sudo /etc/init.d/rsyslog restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: