linux中的日志服务syslogd|klogd学习

时间:2021-08-09 16:07:26

1.linux负责日志记录的服务

(1)syslogd:主要记录登录系统与网络等服务的日志信息

(2)klogd:主要记录登录内核产生的各项的日志信息


2.常用的日志文件

linux中的日志文件一般记录到/var/log/目录中,常见的日志文件有:

(1)/var/log/cron   -->crontab服务的日志

(2)/var/log/dmesg  -->记录系统在开机时内核检测过程所产生的各项信息。

(3)/var/log/lastlog   -->各种账号登录的日志信息

(4)/var/log/maillog 或 /var/log/mail/*    -->记录邮件相关的日志

(5)/var/log/messages   -->这个文件很重要,几乎系统发生的错误信息或重要信息都会记录到这个文件中

(6)/var/log/secure    -->账户登录相关日志信息

(7)/var/log/httpd/* 或 /var/log/news/* 或 /var/log/smaba/*    -->httpd,news,smaba等这些服务输出的日志

。。。


3.日志文件的一般格式:

Dec  6 22:48:01 host-jianzai crond(pam_unix)[2241]: session opened for user root by (uid=0)
表示在时间Dec  6 22:48:01,由主机host-jianzai上的crond服务(进程号为2241)传给syslogd一条消息,信息内容为session opened for user root by (uid=0)


4.syslogd的配置文件/etc/syslog.conf

/etc/syslog.conf是syslogd服务的配置文件,配置文件的格式为:

服务名称[.=!]信息等级  信息输出到位置
例如:
mail.info /var/log/maillog_info #表示mail服务的大于或等于info等级的日志记录到/var/log/maillog_info
mail.=info /var/log/maillog_info #表示mail服务的info等级的日志记录到/var/log/maillog_info
mail.!info /var/log/maillog_info #表示mail服务除info等级以外等级的日志记录到/var/log/maillog_info

/etc/syslog.conf中配置了很多的服务名称,比如sendmail,postfix以及dovecot都是与邮件有关的软件,这些软件会调用的syslogd中的mail服务名称来记录日志的。


5.系统日志的切割工具logrotate

logrotate是日志切割的工具,其配置文件是/etc/logrotate.conf以及/etc/logrotate.d/*。

它是一个工具,需要借助crontab工具定时调度。


6.logger工具

linux自带的logger工具可以调用syslogd服务来记录一些用户操作日志。