日志系统:
- Linux上的日志系统:
- syslog(rsyslog)
- syslog-ng(开源)
- syslog服务:
- syslogd(系统、非内核产生的信息)
- klogd(内核,专门负责内核产生的日志信息)
- 信息详细程序:日志级别
- 产生日志信息的子系统:facility,设施
- 指定信息的存储位置(动作)
配置文件:/etc/syslog.conf
- 定义格式:facility.priority action
- facility:可以理解为日志的来源或设备
- 目前常用的facility有一下几种:
- auth --认证相关的
- authpriv --权限,授权相关的
- cron --任务计划相关的
- daemon --守护进程相关的
- kern --内核相关的
- lpr --打印相关的
- 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
- 'l' --管道 通过管道送给其他的命令处理
- 终端,如:/dev/console
- HOST --远程主机 如:@10.0.0.1
- 用户 --系统用户 如:root
- '*' --登录到系统上的所有用户,一般emerg级别的日志是这样定义的
日志需要滚动(日志切割 logrotate):
- message message.1 message.2
- 脚本:/etc/cron.daily/logrotate
- 配置文件:/etc/logrotate.conf
kernel --> 物理终端(/dev/console) --> /var/log/dmesg(命令:dmesg)
/sbin/init
- /var/log/messages:
- 系统标准错误日志信息;
- 非内核产生引导信息;
- 各子系统产生的信息;
- /var/log/maillog:邮件系统产生的日志信息;
- /var/log/secure:可查看登录信息
/etc/sysconfig/syslog SYSLOGD_OPTIONS="-r -m 0" -r 设置为日志服务器
service syslog restart service syslog reload(无需中断服务)