syslog已被许多日志函数采纳,它用在许多保护措施中,任何程序都可以通过syslog记录事件。syslog可以记录系统事件,可以写到一个文件或设备中,或给用户发送一个信息。它能记录本地事件或通过网络记录另一个主机上的事件。
1、syslog简介
syslog是一种工业标准的协议,可用来记录设备的日志。在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。管理者可以通过查看系统记录,随时掌握系统状况。UNIX的系统日志是通过syslogd这个进程记录系统有关事件记录,也可以记录应用程序运作事件。通过适当的配置,我们还可以实现运行syslog协议的机器间通信,通过分析这些网络行为日志,藉以追踪掌握与设备和网络有关的状况。
2、syslog配置文件
syslog设备依据两个重要的文件:/etc/syslogd守护进程和/etc/syslog.conf配置文件。通常情况下,多数syslog信息被写到/var/adm或/var/log目录下的信息文件中(messages.*)。一个典型的syslog记录包括生成程序的名字和一个文本信息。它还包括一个设备和一个优先级范围。
通过使用syslog.conf文件,可以对生成的日志的位置及其相关信息进行灵活的配置。该配置文件指明了syslogd守护程序记录日志的行为,该程序在启动时查询配置文件。该文件由不同程序或消息分类的单个条目组成,每个占一行。对每类消息提供一个选择域和一个动作域。这些域由tab隔开:
syslog.conf行的基本语法是:
消息类型.优先级 动作域
其中,每个选择域是由消息类型和优先级组成。当指明一个优先级时,syslogd将记录一个拥有相同或更高优先级的消息。Linux中一些主要的消息类型如表2所示,表3列出了一些优先级信息:
表2 syslog消息类型
| 消息类型 | 消息来源 |
| kern | 内核 |
| User | 用户程序 |
| Damon | 系统守护进程 |
| 电子邮件系统 | |
| Auth | 与安全权限相关的命令 |
| Lpr | 打印机 |
| News | 新闻组信息 |
| Uucp | Uucp程序 |
| Cron | 记录当前登录的每个用户信息 |
| wtmp | 一个用户每次登录进入和退出时间的永久记录 |
| Authpriv | 授权信息 |
表3 syslog常用优先级
| 优先级 | 描述 |
| emerg | 最高的紧急程度状态 |
| alert | 紧急状态 |
| Cirt | 重要信息 |
| warning | 警告 |
| err | 临界状态 |
| notice | 出现不寻常的事情 |
| info | 一般性消息 |
| Debug | 调试级信息 |
| None | 不记录任何日志信息 |