rsyslog服务基础
一、基础概念
系统引导启动、应用程序启动、应用程序运行过程中经常会输出一些信息,按正常逻辑其所有输出信息都应该是输出至其所在的控制台上,但是一些守护进程本来与终端没有关系,当它需要输出信息的时候保存于何处呢?既然记录输出信息是一个通过功能,就可以找一个应用程序把所有数据流都收束在一起之后记录在文件中,syslog就是实现这个功能的,而rsyslog是syslog的进阶版,它是syslog多线程的下一代实现方案
1. 通用格式
既然都使用rsyslog服务记录日志,那它的记录格式也是统一的,我们在/var/log/message
中看到一般都是这种格式的
|
2. rsyslog中的重要术语
(1) 日志级别(priority)
事件有等级的概念,日志记录的时候是事无巨细还是只记录重要的信息。很显然,为了系统I\O,为了节约空间,我们也不应该事无巨细的记录,应该仅记录一些非常关键的信息。因此,为了能完成这些信息流的过滤和收束,syslog为每一个程序所产生的信息定义了级别(priority)
|
(2) 设施(facillty)
从功能或程序上对日志进行分类
|
3. 特性
- 多线程
- 支持UDP、TCP、SSL、TLS、RELP
- 可以将日志存储于MySQL、PGSQL、Oracle等数据库中
- 用于强大的过滤器、实现过滤日志信息中任何部分的内容
- 支持自定义输出格式
二、程序环境
1. 相关文件
rsyslogd
:主程序文件
/etc/rsyslog.conf,/etc/rsyslog.d/*.conf
:主配置文件
/etc/rc.d/init.d/rsyslog
:Centos 6服务脚本
/usr/lib/systemd/system/rsyslog.service
:Centos 7 Unit File
2. 主配置文件
/etc/rsyslog.conf
由三部分组成,MODULES、GLOBAL DRICTIVES、RULES
- MODULES:用来定义启动或加载哪些模块的
|
- GLOBAL DRICTIVES:全局指令
|
- RULES:规则定义哪个设施、日志级别记录与何处
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Busyops!
评论