syslog日志服务

syslog介绍

syslog是一种标准工业协议, 也可以说它是一款服务,它可以用来记录UNIX主机系统设备的日志信息,也可以检测网络设备,如交换机,路由器等。syslog协议也可以实现机器间通信,继而分析这些网络日志行为,追踪和掌握设备与网络的状况。
syslog所产生的日志不仅可以写往本地,也可以通过网络发送到接受syslog的服务器,实现统一的监控,接受syslog的服务器可以对多个设备的syslog消息的服务器进行统一的存储,或者解析其中的内容做相应的处理。

应用场景:网络管理工具,安全系统管理工具,日志审计系统等。

日志格式
一个完成的syslog日志应该包含产生日志的程序模块(Facility)、严重性(Sevenrity或level)、时间、主机名或IP、进程名,进程ID和正文(描述日志信息)。
在UNIX/Linux系统上可以根据Facility和Sevenrity的组合来决定记录什么样的日志信息以及写入哪个日志文件,或者是否需要发送到一个syslog服务器等。但由于标准制定的较晚,导致syslog的格式是非常随意的,我们有时无法正确解析出日志文件所包含的信息。

一个普通的syslog日志格式:

时间 主机名 进程名 进程ID 正文描述



进程名一般是我们自己指定的一个字符串,在下面将函数时会细讲,进程ID有时候是没有的,这时候中括号也没有。如下图:




我们在上面的格式中并没有看到所谓的程序模块(Facility)、严重性(Sevenrity或level)。这是在我的主机上显示的结果,严格来说在时间的前面应该有一个PRI部分。如下:

PRI 时间 主机名 进程名 进程ID 正文描述

PRI是一个尖括号包含的数字,如:<30> 。
这个数字包含了程序模块(Facility)、严重性(Sevenrity或level),这个数字是由Facility乘以8,再加上Severity后得来的。


日志是如何写入的?

1、Linux C中提供了一套写入日志的接口:openlog,syslog,closelog

2、Linux下每个用户都有一个一直运行的syslog守护进程:



我的理解为,openlog函数负责打开与syslog守护进程通信的描述符,syslog函数负责传入日志信息,syslog守护进程负责分析我们传入的参数,进而决定写入上面样的日志信息,以及写进哪些位置。closelog负责关闭用于于syslog守护进程通信的描述符。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值