syslog是linux系统中默认的日志守护进程,默认的syslog配置文件是/etc/syslog.conf文件。程序、守护进程和内核提供了访问系统的日志信息。任何希望生成日志信息的程序都可以向syslog接口呼叫产生该信息。
几乎所有的网络设备都可以通过syslog协议,将日志信息通过udp方式传送到远端的服务器,而远端的服务器通过syslogd监听udp的514端口,并且根据syslog.conf配置文件中的配置进行处理,接受访问系统的日志信息,把指定的事件写入到特定的文件中,供后台数据库管理和响应之用。它意味着我们可以让任何事件都登录到一台或者多台服务器上,以备后台数据库用off-line也就是离线的方式来分析远端设备的事件。
而/etc/syslog.conf使用facility.level action的方式,而facility.level为选择条件,它本身是两个字段,之间用一个小数点分割,前一个字段是一个服务,后一个字段是一个优先级。选择条件其实是对消息类型的一种分类,这种分类便于人们把不同类型的消息发送到不同的地方。在同一个syslog配置上允许出现一个以上的选择条件,但是必须使用分号隔开。而action字段所表示的活动具有许多灵活性,特别是我们可以使用管道来使得syslogd生成后处理信息。
通常facility指的是syslog可以检测的功能,其中kern指的是内核信息,它通过klogd来传送,而user是用户进程,而mail是邮件,而daemon是后台进程,而authpriv是授权信息,而syslog是系统日志,而lpr是打印信息,而new是新闻组信息,而uucp则是由uucp产生的信息,而cron则是计划和任务信息,而mark则是由syslog内部功能用于生成时间戳。而local0-7与自定义程序使用,比如使用local5表示ssh功能。而*表示出了mark之外的所有功能。
其中level指的是syslog的优先级,其中emerg或者panic表示系统不可用,而alert表示需要立即被修改的条件,而crit表示阻止某些工具或者子系统功能实现的错误条件,err表示阻止工具或者某些子系统部分功能实现的错误条件,而warning是警告消息,而notice则是普通消息,而info则是通知性消息。
syslog的守护程序是由/etc/rc.d/init.d/syslog脚本被调用启动的,缺省不使用选项。如果将要使用一个日志服务器,必须调用syslogd -r,缺省情况下syslog不接受来自远程系统的消息。当指定了-r选项后,syslogd会监听从514端口上进来的udp包。
如果还希望日志服务器能够传送日志消息,则可以使用-h标识。缺省时,syslogd将忽略使其从一个远程系统传送日志消息到另一个系统的/etc/syslog.conf输入项。
对配置文件的修改需要重启syslogd程序才会生效,可以使用/etc/rc.d/init.d/syslog restart即可。更多精彩内容欢迎继续访问系统部落(www.xitongbuluo.com)!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2014-12-21 Nginx 模块开发(1)—— 一个稍稍能说明问题模块开发 Step By Step 过程
2014-12-21 Nginx Http模块开发
2014-12-21 nginx模块开发获取post参数
2014-12-21 nginx上传模块nginx_upload_module和nginx_uploadprogress_module模块进度显示,如何传递GET参数等。
2014-12-21 nginx自定义模块编写-根据post参数路由到不同服务器
2014-12-21 nginx location的管理以及查找
2014-12-21 nginx的请求接收流程(二)