Linux下的syslog日志守护进程深入理解

syslog是Linux下默认的日志守护进程。任何希望生成日志信息的程序都可以通过syslog 接口实现该目的。

同时,几乎所有的网络设备都可以通过syslog协议,将日志信息以UDP的形式传送给远端服务器,远端接收日志服务器必须通过syslogd监听UDP端口514,并根据 syslog.conf 配置文件张的配置处理。配置文件 /etc/rsyslog.conf 中规定了syslogd如何根据设备和信息的重要级别来报告信息。

这里只需要有个大致了解即可,下面都会提到这些东西。

关于配置文件:

CentOS之前的版本下,配置文件为/【etc/syslog.conf  】,具体从哪一版开始不清楚,但是从CentOS6.5之后,配置文件名变更为【/etc/rsyslog.conf  】。

syslog是支持日志分类输出到某个特定文件中的,但是有几个限制:

1、syslog日志输出支持分类,但不支持每个进程单独输出到某个文件(因为syslog并不是作为一套完整的日志库而产生的);

2、syslog输出的日志文件位置并不是任意的,默认仅仅限于【/var/log/】目录下,如果指定到其他位置,视为无效;

在该文件中,抛过大部分的注释信息,主要内容基本都下图格式:

wKiom1jnrVPgh0yhAACTHzqbFEM910.png

从前向后,依次为:

【服务.优先级 <tab> action字段】。

其中,【服务.优先级】一起统称为选择条件,如下图所示。条件选择是对服务进行了分类,便于syslog对日志的输出管理。同时一行的配置中,允许出现多个选择条件,多个选择条件使用 ; 隔开。

wKioL1jnrWKBlIprAABWfRFZsiI703.png

服务(facility),用来指定syslog的功能,主要包括:

kern          内核信息,首先通过 klogd 传递;

user          用户进程;

mail          邮件;

daemon        后台进程;

authpriv      授权信息;

syslog        系统日志;

lpr          打印信息;

news          新闻组信息;

uucp          由uucp生成的信息

cron          计划和任务信息。

mark          syslog 内部功能用于生成时间戳

local0----local7  与自定义程序使用,例如使用 local5 做为 ssh 功能

*            通配符代表除了 mark 以外的所有功能

优先级(level),指定了syslog的优先级,从高到底依次为:

emerg 或 panic  该系统不可用(最紧急消息)

alert            需要立即被修改的条件(紧急消息)

crit            阻止某些工具或子系统功能实现的错误条件(重要消息)

err              阻止工具或某些子系统部分功能实现的错误条件(出错消息)

warning          预警信息(警告消息)

notice          具有重要性的普通条件(普通但重要的消息)

info            提供信息的消息(通知性消息)

debug            不包含函数条件或问题的其他信息(调试级-信息量最多)

none            没有重要级,通常用于排错(不记录任何日志消息)

*                所有级别,除了none

action:

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 等.

调用syslog的守护进程:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14015.html