syslog配置文件

基本语法:

       Rsyslog针对各种服务与信息记录在某些文件的配置文件就是/etc/rsyslog.conf,这个文件规定了什么服务的什么等级信息以及需要被记录在哪里(设备或文件)。
基本语法:

服务名称[.=!]信息等级  信息记录的文件或设备或主机
    mail.info       /var/log/maillog_info
#这行说明:mail服务产生的大于等于info等级的信息都记录到/var/maillog_info文件中。
服务名称

syslogd本身有设置一些服务,主要有下面这些。

服务类型 说明
auth(authpriv) 主要与认证有关的机制,例如:login,ssh,su等需要帐号/密码
cron 就是例行性工作调度cron/at等生成信息日志的地方
daemon 与各个daemon有关的信息
kern 就是内核(kernel)产生信息的地方
lpr 即是打印相关的信息
mail 只要与邮件收发有关的信息记录都属于这个
news 与新闻组服务器有关的东西
syslog 就是syslogd这个程序本身生成的信息
user,uucp 与Unix like机器本身有关的一些信息
local0~lcocal7 自定义的日志设备

       以上都是rsyslog自行定制的服务名称,软件可通过调用上述的服务名称来记录它们产生的信息。如:sendmail与postfix及dovecot都是与邮件有关的软件,这些软件在设计日志记录时都会主动调用rsyslogd内的mail服务名称(LOG_MAIL),所以上述软件所产生的信息被rsyslogd记录在maillog文件中。

信息等级

       同一个服务所产生的信息也是有差别的,有启动时仅通知系统而已的一般信息(information),有出现还不至于影响到正常运行的警告信息(warn),还

有系统硬件发生严重错误时所产生的重大问题信息(error等);syslog将信息分为以下几个主要等级。

等级 等级名称 说明
1 debug 有调式信息的,日志信息最多
2 info 基本的信息说明,最常用
3 notice 重要性的普通条件的信息
4 warning(warn) 警告的信息级别,但还不至于影响到某个daemon运行的信息;
5 err(error) 一些错误的信息,阻止某个功能或者模块不能正常工作的信息
6 crit 重大错误级别,阻止整个系统或者整个软件不能正常工作的信息
7 alert 严重错误级别,需要立刻修改的信息
8 emerg(panic) “疼痛”等级,指系统几乎要死机的状态。如内核崩溃等严重信息
9 none 什么都不记录

       从上到下,级别从低到高,记录的信息越来越少 。
       基本上,info,notice,warn这三个信息都是在告知一些基本信息而已,应该还不至于造成一些系统运行困扰。debug(错误检测等级)和none(不需等录等级),这两个等级的信息比较特殊,当我们要做一些错误检测或忽略掉某些服务的信息时,可用这两个等级。

等级信息前[.=!]所代表的意思是:

  • .xxx: 表示大于等于xxx级别的信息
  • =xxx:表示等于xxx级别的信息
  • .!xxx:表示在xxx之外的等级的信息
信息记录

       配置文件还需要告知rsyslogd将信息记录到什么地方,通常是记录文件,但也可以输出到设备,例如打印机之类的。也可以记录到不同的主机上。下面是一些常见的放置处:

  • 文件的绝对路径:通常就是放在/var/log里,
    例子:. /var/log/boot.log # 绝对路径

  • 打印机或其他:例如/dev/lp0这个打印机设备。

  • 远程主机:需要对方主机的支持。
    例子:. @192.168.0.1 # 使用UDP协议转发到192.168.0.1的514(默认)端口

  • *:代表目前在线的用户,类似wall这个命令
    例子:. root,kadefor,up01 # 使用,号分隔多个用户
    例子:. * # *号表示所有在线用户

  • 忽略,丢弃
    例子:local3.* ~ # 忽略所有local3类型的所有级别的日志

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐