syslog.conf
/etc/syslog.conf列出了由syslogd管理的所有日志文件名和位置。
对于不同类型的Unix,标准UnixLog系统的设置,实际上除了一些关键词的不同,系统的syslog.conf格式是相同的。syslog采用可配置的、统一的系统登记程序,随时从系统各处接受log请求,然后根据/etc/syslog.conf中的预先设定把log信息写入相应文件中、邮寄给特定用户或者直接以消息的方式发往控制台。值得注意的是,为了防止入侵者修改、删除messages里的记录信息,可以采用用打印机记录或采用方式来挫败入侵者的企图。
syslog.conf的格式
类型.级别 [;类型.级别]TAB动作
类型.级别与动作之间使用TAB键隔开
类型
保留字段中的“类型”代表信息产生的源头,可以是:
auth 认证系统,即询问用户名和口令
cron 系统定时系统执行定时任务时发出的信息
daemon 某些系统的守护程序的syslog,如由in.ftpd产生的log
kern 内核的syslog信息
lpr 打印机的syslog信息
mail 邮件系统的syslog信息
mark 定时发送消息的时标程序
news 新闻系统的syslog信息
user 本地用户应用程序的syslog信息
uucp uucp子系统的syslog信息
local0-7 种本地类型的syslog信息,这些信息可以又用户来定义
* 代表以上各种设备
级别
保留字段中的“级别”代表信息的重要性,可以是:
emerg 紧急,处于Panic状态。通常应广播到所有用户;
alert 告警,当前状态必须立即进行纠正。例如,系统数据库崩溃;
crit 关键状态的警告。例如,硬件故障;
err 其它错误;
warn 警告;
notice 注意;非错误状态的报告,但应特别处理;
info 通报信息;
debug 调试程序时的信息;
none 通常调试程序时用,指示带有none级别的类型产生的信息无需送出。如*.debug;mail.none表示调试时除邮件信息外其它信息都送出。
* 所有级别,除了none
动作
“动作”域指示信息发送的目的地。可以是:
/filename 日志文件。由绝对路径指出的文件名,此文件必须事先建立;
@host 远程主机; @符号后面可以是ip,也可以是域名,默认在/etc/hosts文件下loghost这个别名已经指定给了本机。
user1,user2 指定用户。如果指定用户已登录,那么他们将收到信息;
* 所有用户。所有已登录的用户都将收到信息。
示例
# First some standard log files.
*.*;auth,authpriv.none;mail.none /var/log/syslog
*.alert;*.crit;*.err /var/log/syserr
auth,authpriv.* /var/log/auth.log
mail.* /var/log/mail.log
# Emergencies are sent to everybody logged in.
*.emerg :omusrmsg:*
如果busybox中的syslog工具已经配置进来的,但是将syslog.conf中的内容全部注销,那么syslogd进程默认将log信息记录到/var/log/message中。
syslogd守护进程
syslogd有两个选项-r和-h
缺省情况下,syslog不接受来自远程系统的信息
当指定-r选项,syslogd将会监听从514端口上进来的UDP包
当指定-h选项,syslogd将使其从一个远程系统传送日志信息到另一个系统的/etc/syslog.conf输入项。
klogd守护进程
klogd守护进程获取并记录linux内核信息
一般情况下,klogd会将获取的信息传递给syslogd
如果调用带有-f filenamede参数的klogd时,klogd就在filename中记录所有信息,而不是传给syslogd。
当指定另外一个文件进行日志记录时,klogd就向该文件中写入所有级别或优先权。