更多请关注 Linux命令大全

syslog 介绍

syslog是Linux系统默认的日志守护进程。默认的syslog配置文件是/etc/syslog.conf文件。程序,守护进程和内核提供了访问系统的日志信息。因此,任何希望生成日志信息的程序都可以向 syslog 接口呼叫生成该信息。 几乎所有的网络设备都可以通过syslog协议,将日志信息以用户数据报协议(UDP)方式传送到远端服务器,远端接收日志服务器必须通过syslogd监听UDP 端口514,并根据 syslog.conf配置文件中的配置处理本机,接收访问系统的日志信息,把指定的事件写入特定文件中,供后台数据库管理和响应之用。意味着可以让任何事件都登录到一台或多台服务器上,以备后台数据库用off-line(离线) 方法分析远端设备的事件。 通常,syslog 接受来自系统的各种功能的信息,每个信息都包括重要级。/etc/syslog.conf 文件通知 syslogd 如何根据设备和信息重要级别来报告信息。

关于syslog协议介绍

在Unix类操作系统上,syslog广泛应用于系统日志。syslog日志消息既可以记录在本地文件中,也可以通过网络发送到接收syslog的服务器。接收syslog的服务器可以对多个设备的syslog消息进行统一的存储,或者解析其中的内容做相应的处理。常见的应用场景是网络管理工具、安全管理系统、日志审计系统。

完整的syslog日志中包含产生日志的程序模块(Facility)、严重性(Severity或 Level)、时间、主机名或IP、进程名、进程ID和正文。在Unix类操作系统上,能够按Facility和Severity的组合来决定什么样的日志消息是否需要记录,记录到什么地方,是否需要发送到一个接收syslog的服务器等。由于syslog简单而灵活的特性,syslog不再仅限于 Unix类主机的日志记录,任何需要记录和发送日志的场景,都可能会使用syslog。

长期以来,没有一个标准来规范syslog的格式,导致syslog的格式是非常随意的。最坏的情况下,根本就没有任何格式,导致程序不能对syslog 消息进行解析,只能将它看作是一个字符串。

在2001年定义的RFC3164中,不过这个规范的很多内容都不是强制性的,常常是“建议”或者“约定”,也由于这个规范出的比较晚,很多设备并不遵守或不完全遵守这个规范。接下来就介绍一 下这个规范。

约定发送syslog的设备为Device,转发syslog的设备为Relay,接收syslog的设备为Collector。Relay本身也可以发送自身的syslog给Collector,这个时候它表现为一个Device。Relay也可以只转发部分接收到的syslog消息,这个时候它同时表现为Relay和Collector。

syslog消息发送到Collector的UDP 514端口,不需要接收方应答,RFC3164建议 Device 也使用514作为源端口。规定syslog消息的UDP报文不能超过1024字节,并且全部由可打印的字符组成。完整的syslog消息由3部分组成,分别是PRI、HEADER和MSG。大部分syslog都包含PRI和MSG部分,而HEADER可能没有。

syslog 使用方法

在/var/log中创建并写入日志信息是由syslog协议处理的,是由守护进程sylogd负责执行。每个标准的进程都可以用syslog记录日志。可以使用logger命令通过syslogd记录日志。 要向syslog文件/var/log/messages中记录日志信息:

logger this is a test log line 

输出:
tail -n 1 messages
Jan 5 10:07:03 localhost root: this is a test log line

如果要记录特定的标记(tag)可以使用:

logger -t TAG this is a test log line
输出:
tail -n 1 messages
Jan 5 10:37:14 localhost TAG: this is a test log line
 

最新文章

  1. iOS学习之git的使用
  2. 方法重写和方法重载;this关键字和super关键字
  3. Spark Programming--Actions
  4. 在Fedora8上配置Tomcat6.0.37
  5. Awesome-awesome-awesome
  6. mysqlimport 导入文件到数据库命令
  7. C++朝花夕拾【更新】
  8. 使用Promise规定来处理ajax请求的结果
  9. PHP弱类型:WordPress Cookie伪造
  10. UVA 11100 The Trip, 2007 贪心(输出比较奇葩)
  11. 实现免密码输入 ssh 登录
  12. 理解javascript函数的重载
  13. JavaScript高级程序设计 - 阅读笔记
  14. linux命令和知识点
  15. [SDOI2016]排列计数
  16. 移动端web开发的注意点大总结
  17. c++入门之浅拷贝和深拷贝
  18. Pandas 使用笔记
  19. Python 输出
  20. MySQL配置文件优化(Innodb)

热门文章

  1. 机智云连接ESP8266--远程控制点亮RGB灯
  2. [題解/狀壓dp]POJ_2411_Mondriaan's dream
  3. NOIP前模拟赛总结
  4. 模拟IO 读写压力测试
  5. MDX查询语句
  6. 一款被嫌弃的字体「Comic Sans」
  7. Nodejs chrome 调试node-inspector
  8. REST访问(RestTemplate)
  9. 如何 发布一个 arcgis 服务
  10. java 设计模式 之 桥梁模式