syslog是网络上各种设备将日志收集到日志服务器的一种数据协议,它几乎被所有的网络设备支持,并且能够记录多种事件类型的日志消息,支持syslog的设备常见的有路由器、交换机、打印机等等,甚至unix-like的服务器也可以支持产生syslog消息,用以记录用户的登录、防火墙事件、apache或者nginx access日志等。
上图是典型的syslog完整端到端的场景示意图,各种设备通过syslog协议将事件发送到syslog服务器,管理员配置一些监控规则,当有syslog事件触发监控规则时,syslog服务器向管理员发送报警,管理员响应报警。
目前日志服务已经支持接收syslog日志,详细内容请参考《日志服务(原SLS)新功能发布(6)--使用logtail接入syslog数据》。
syslog的RFC标准
目前有两个syslog RFC标准RFC 3164、RFC 5424,两者的主要区别在于数据的格式不同,RFC 3164格式如下:
- Syslog包分为3个部分,PRI, HEADER,以及MSG,总长度不能超过1024个字节。其中PRI代表了facility以及severity,即代表消息来源