Stay Hungry.Stay Foolish.
rsyslog 学习笔记

/etc/rsyslog.conf 文件格式

facility.level action facility.level为选择条件本身分为两个字段,之间用一个小数点(.)分隔。action和facility.level之间使用TAB隔开。前一字段是一项服务,后一字段是一个优先级。选择条件其实是对消息类型的一种分类,这种分类便于人们把不同类型的消息发送到不同的地方。在同一个syslog配置行上允许出现一个以上的选择条件,但必须用分号(;)把它们分隔开。action字段所表示的活动具有许多灵活性,特别是,可以使用名称管道的作用是可以使 syslogd 生成后处理信息。

facility 指定 syslog 功能,主要包括以下这些:

  1. kernel messages
  2. user-level messages
  3. mail system
  4. system daemons
  5. security/authorization messages
  6. messages generated internally by syslogd
  7. line printer subsystem
  8. network news subsystem
  9. UUCP subsystem
  10. clock daemon
  11. security/authorization messages
  12. FTP daemon
  13. NTP subsystem
  14. log audit
  15. log alert
  16. clock daemon 16-23. local0 - local7
  • 通配符代表除了 mark 以外的所有功能
#define LOG_KERN            (0<<3)    /* kernel messages */  
#define LOG_USER            (1<<3)    /* random user-level messages */  
#define LOG_MAIL            (2<<3)    /* mail system */  
#define LOG_DAEMON  (3<<3)    /* system daemons */  
#define LOG_AUTH            (4<<3)    /* security/authorization messages */  
#define LOG_SYSLOG  (5<<3)    /* messages generated internally by syslogd */  
#define LOG_LPR     (6<<3)    /* line printer subsystem */  
#define LOG_NEWS            (7<<3)    /* network news subsystem */  
#define LOG_UUCP            (8<<3)    /* UUCP subsystem */  
#define LOG_CRON            (9<<3)    /* clock daemon */  
#define LOG_AUTHPRIV    (10<<3)   /* security/authorization messages (private) */  
#define LOG_FTP     (11<<3)   /* ftp daemon */  

level 指定syslog优先级: syslog 级别如下:(按严重程度由高到低的顺序列出了所有可能的优先级。) emerg 或 panic 该系统不可用(最紧急消息) alert 需要立即被修改的条件(紧急消息) crit 阻止某些工具或子系统功能实现的错误条件(重要消息) err 阻止工具或某些子系统部分功能实现的错误条件(出错消息) warning 预警信息(警告消息) notice 具有重要性的普通条件(普通但重要的消息) info 提供信息的消息(通知性消息) debug 不包含函数条件或问题的其他信息(调试级-信息量最多) none 没有重要级,通常用于排错(不记录任何日志消息)

  • 所有级别,除了none Application 中定义level:
  1. LOG_EMERG,紧急情况
  2. LOG_ALERT,高优先级故障,例如数据库崩溃
  3. LOG_CRIT,严重错误,例如硬件故障
  4. LOG_ERR,错误
  5. LOG_WARNING,警告
  6. LOG_NOTICE,需要注意的特殊情况
  7. LOG_INFO,一般信息
  8. LOG_DEBUG,调试信息

kernel中定义level(使用printk函数设定level):

  1. KERN_EMERG, 系統無法使用
  2. KERN_ALERT, 必須立即執行
  3. KERN_CRIT, 緊急狀態
  4. KERN_ERR, 錯誤狀態
  5. KERN_WARNING, 警告狀態
  6. KERN_NOTICE, 正常狀態且十分重要
  7. KERN_INFO, 報告
  8. KERN_DEBUG, debug-level訊息

action指定syslog记录日志:

  1. /var/log/lastlog : 记录每个使用者最近签入系统的时间, 因此当使用者签入时, 就会显示其上次签入的时间, 您应该注意一下这个时间, 若不是您上次签入的时间, 表示您的帐号可能被人盗用了. 此档可用 /usr/bin/lastlog 指令读取.
  2. /var/run/utmp : 记录每个使用者签入系统的时间, who, users, finger 等指令会查这个档案.
  3. /var/log/wtmp : 记录每个使用者签入及签出的时间, last 这个指令会查这个档案. 这个档案也记录 shutdown 及 reboot 的动作.
  4. /var/log/secure : 登录系统的信息
  5. /var/log/maillog : 记录 sendmail 及 pop 等相关讯息.
  6. /var/log/cron : 记录 crontab 的相关讯息 ,定时器的信息
  7. /var/log/dmesg : /bin/dmesg 会将这个档案显示出来, 它是开机时的画面讯息.
  8. /var/log/xferlog : 记录那些位址来 ftp 拿取那些档案.
  9. /var/log/messages : 系统大部份的讯息皆记录在此, 包括 login, check password , failed login, ftp, su 等.
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
评论

暂无评论~~