日志系统

Linux上的日志系统 syslog syslog-ng:开源版

日志系统:syslog()

syslog服务:  syslogd:系统,非内核产生的信息  klogd:内核,专门负责记录内核产生的日志信息

kernel-->物理终端(/dev/console)-->/var/log/dmesg

# dmesg # cat /var/log/dmesg

日志需要滚动: message messages.1 messages.2

/sbin/init  /var/log/messages:系统标准日志信息:非内核产生引导信息,各子系统产生的信息  /var/log/maillog:邮件系统产生的日志信息  /var/log/secure:

syslog:  syslogd  klogd  配置文件:/etc/syslog.conf

信息详细程序:日志级别 子系统:facility,设备

动作:

配置文件定义格式为:facility.priority action

facility,可以理解为日志的来源或设备目前常用的facility有以下几种

 auth    #认证相关的  authpriv  #权限,授权相关的  cron      #任务计划相关的  daemon   #守护进程相关的  kern   #内核相关的  lpm       #打印相关的  mail   #邮件相关的  mark   #标记相关的  news   #新闻相关的  security  #安全相关的,与auth类似  syslog    #syslog自己的  user   #用户相关的  uucp      #unix to unix cp相关的  local0 到local7  #用户自定义使用  *    #*标识所有的facility

priority(log level)日志的级别,一般有以下几种级别(从低到高)  debug  #程序或系统的调试信息  info  #一般信息  notice  #不影响正常功能,需要注意的消息  warning/warn #可能影响系统功能,需要提醒用户的重要事件  err/error #错误信息  crit  #比较严重的  alert  #必须马上处理的  emerg/panic #会导致系统不可用的  *  #标识所有的日志级别  none  #跟* 相反,标识啥也没有

action(动作)日志记录的位置  系统上的绝对路径 #普通文件 如:/var/log/xxx  |   #管道 通过管道送给其他的命令处理  终端   #终端  如:/dev/console  @HOST   #远程主机  如:@10.0.0.1  用户   #系统用户  如:root  *   #登陆到系统上的所有用户,一般emerg级别的日志是这样定义的

定义格式例子:

mail.info  /var/log/mail.log #标识将mail相关的,级别为info auth.-info  @10.0.0.1   #标识将auth相关的,基本为info的信息记录到10.0.0.1主机上去 user.1-error    #表示记录user相关的,不包括error级别的信息 user.!error   #与user.error相反 *.info    #标识记录mail相关的所有级别的信息 *.*    # cron.info;mail.info  #多个日志来源可以用;隔开 cron.mail.info   #与cron.info;mail.info一个意思 mail.*;mail.!=info  #表示记录mail相关的所有级别信息,但是不包括info级别的

原文地址:https://www.cnblogs.com/suzixuan/p/6851939.html