「syslog」- 杂记

解决方案

Syslog是一种工业标准的协议,可用来记录设备的日志。在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。管理者可以通过查看系统记录,随时掌握系统状况。

该协议从最初的加州大学伯克利分校软件中心整理,后来由于其操作管理的实用性迅速成为很多网络设备操作管理协议的一部分。现在已经有相应的RFC3164,RFC3195进行通用的定义。前者定义的是使用UDP形式传输,后者定义的是使用TCP形式传输。

原理简述

角色分类
发送者 sender:产生syslog message的网元;
中继 relay:能接收到后进行转发syslog message的网元或其他设备;
收集者 collector:接收了不再转发syslog message的syslog server;

特性说明

Syslog协议提供了一种通过IP网络传送事件消息的机制,它允许主机将事件消息通过IP网络传输到接收消息的主机上,这些主机通常称为syslog server。

几乎所有的网络设备都可以通过syslog protocol将日志信息以UDP方式传送到远端服务器,远端接收日志服务器必须通过syslogd来监听 UDP Port 514,并且根据syslog.conf中的配置来处理本机和接收访问系统的日志信息,把指定的事件写入特定档案中,供后台数据库管理和响应之用。

应用场景

WIP

概念术语

syslog

一个函数?
syslog(2) 与 syslog(3),一个是系统调用,一个是函数库。syslog(3) 产生的日志由syslogd(8)进行分发。

一个标准
在计算中,syslog 是消息记录的标准。 它允许分离生成消息的软件、存储消息的系统、报告和分析消息的软件。每条消息都标有设施代码,表示生成消息的软件类型,并分配了严重性级别。

计算机系统设计人员可以使用syslog进行系统管理和安全审计以及一般信息,分析和调试消息。 许多平台上的各种设备(如打印机,路由器和消息接收器)都使用syslog标准。 这允许从中央存储库中的不同类型的系统合并日志数据。许多操作系统都存在syslog的实现。

rsyslog

一个开源软件,在UNIX和类Unix计算机系统中使用,用于在 IP Network 中转发日志消息。它实现基本的 syslog 协议,通过基于内容的过滤,丰富的过滤功能,灵活的配置选项扩展了它,并添加了诸如使用TCP进行传输等功能。

多线程

TCP,SSL,TLS,RELP

MySQL,PostgreSQL,Oracle等

过滤系统日志消息的任何部分

完全可配置的输出格式

适用于企业级中继链

官方RSYSLOG网站将该实用程序定义为“用于日志处理的快速系统”。而且还在持续更新。

起始于2004年。

syslog-ng

针对Unix和类Unix系统的syslog协议的免费开源实现。

起始于1998年。