一. 日志
- 日志是系统用来记录系统运行时候的一些相关信息的纯文本文件。
- 日志的目的是保存相关程序的运行状态、错误信息等,为了对系统进行分析、保存历史记录以及出现错误的时候分析错误使用。
Linux 系统一般会保存以下类型日志
- 内核信息
- 服务信息
- 应用程序信息
二. rsyslog
Linux系统中用来实现日志功能的服务被称之为rsyslog
rsyslog服务一般会默认安装,并设置开机自动启动,可以通过一下命令控制rsyslog服务:
service rsyslog start|stop restart status
rsyslog的配置文件为:
/etc/rsyslog.conf
日志消息一般存放在:
/var/log
# 我们通常使用tail -f logfile的方式来实时监控日志文件
三. Facility
ryslog通过Facility概念来定义日志消息的来源,以方便对日志进行分类,
facility有以下几种:
| kern | 内核消息 |
| user | 用户消息 |
| 邮件消息 | |
| daemon | 系统服务消息 |
| auth | 认证系统消息 |
| syslog | 日志系统自身消息 |
| lpr | 打印系统消息 |
| authpriv | 权限系统消息 |
| cron | 定时任务系统消息 |
| news | 新闻系统消息 |
| uucp | uucp系统消息 |
| ftp | ftp服务 |
四. Priority / Severity Level
除了日志来源以外,对于同一来源产生的日志消息,还进行了优先级划分,优先级分为以下几种
| Emergency | 系统已经不可用 |
| Alert | 必须立即进行处理 |
| Critical | 严重错误 |
| Error | 错误 |
| Warning | 警告 |
| Notice | 正常消息、但是较为重要 |
| informational | 正常消息 |
| Debug | debug信息 |
五. rsyslog配置
rsyslog配置文件中的日志配置规则如下:
facility.priority log_location
例如:
mail.* -/var/log/mail
*.info:mail.none;authprive.none;cron.none /var/log/messages
# -/var/log/mail 前面的-表示不等待硬盘同步
如果需要将日志发送到一个统一的日志服务器,则可以按如下配置:
*.* @192.168.1.1 (@表示使用UDP协议发送)
*.* @@192.168.1.1 (@@表示使用TCP协议发送)
# *.* 的规则是 facility.priority