一、何为日志
在程序执行时,可以通过标准输出以及错误输出,让我们知道程序的执行情况,而系统不可能将所有程序的输出信息一起显示,要知道后台执行的程序非常之多,如果一起显示,那我们不用操作了,整天只看输出结果就够忙了!
这时就需要日志系统了,有了日志之后,系统可以讲所有程序的输出结果,分类到日志中,通过查看日志,我们就可以知道系统的运行情况。
ping 192.168.18.254 >> /tmp/cjk这么简单的一条命令,其实就是一个日志,将ping的结果输出到cjk中,我们可以通过cat /tmp/cjk来了解ping命令的运行情况。
二、系统日志服务组件
1、rsyslogd
全名为系统日志服务System Log Daemon,用来采集用户的应用程序或者服务产生的信息。
2、logger
这是一个日志服务的客户端工具,可以使用这个工具,直接在shell中传递信息给系统日志服务,通常用为测试系统日志服务。
三、日志服务安装
rpm -q rsyslogd
#查询是否已经安装
yum -y install rsyslog(6以下rsyslogd)
#安装系统日志服务
四、日志服务运行状态管理
service rsyslog stop
#关闭日志服务
service rsyslog start
#开启日志服务
chkconfig rsyslog on
#设为开机启动
chkconfig rsyslog off
#设置为开机不启动
五、日志服务配置
配置文件的路径/etc/rsyslog.conf
格式:
FACILITY.PRIORITY ACTION
信息来源.优先级别 处理方式
信息来源列表
|
说明 |
authpriv |
与安全验证有关的信息。 |
cron |
包含at或cron定时执行系统产生的信息。 |
daemon |
一般服务器的信息。 |
kern |
来自内核信息。 |
lpr |
打印系统传来信息。 |
|
电子邮件系统信息。 |
news |
来自NetNews系统的信息。 |
syslog |
syslog服务器本身信息 |
user |
一般用户等级信息。 |
uucp |
UUCP子系统信息。 |
localN |
保留。 |
安全级别列表
程度 |
项目 |
说明 |
轻微 |
debug |
只是排错信息,仅对程序开发人员有用,对系统管理者的你是没有太大意义的。 |
|
info |
通常这是正常信息,你也可以忽略info的信息。 |
|
notice |
这是稍微要注意的信息。 |
|
warn |
可能有问题的警告信息。 |
|
err |
这是错误信息。 |
|
crit |
这是危急错误。 |
|
alert |
这是需特别留意的警报信息。 |
严重 |
emerg |
这是紧急状况,如果再不处理该服务或系统可能会宕 |
PRIORITY的计算方式:
PRIORITY:代表等于,或高于PRIORITY。例如,err相当等于err + crit +alert + emerg。
=PRIORITY:恰等于PRIORITY。例如,=err就是err本身。
!PRIORITY:代表除了PRIORITY之外的。例如,!err就为debug + info +notice + warn + crit + alert + emerg。
除此之外,FACILITY与PRIORITY可以使用星号代表所有的,因此*.* 就表示所有的FACILITY的所有PRIORITY信息。
而ACTION字段则是用来定义如何处理接收到的信息。可以指定:
/PATH/FILENAME:将信息储存至/PATH/FILENAME文件中。注意,如要系统日志服务把信息储存到文件,这个文件必须要写绝对路径。
USERNAME:将信息送给已登录用户。
@HOSTNAME:代表将信息转到HOSTNAME的系统日志服务器。
*:将信息传送给所有已登录的用户。
六、日志格式
DATE:信息发生日期。
TIME:信息发生时间。
HOSTNAME:信息发生主机。
APP:产生信息软件。
NAME:软件名称,或是软件组件名称。可以省略。
PID:进程标识。可以省略。
MESSAGES:信息内容。
七、集中式的日志服务
1、为什么需要集中式日志服务
如果你负责管理很多台LINUX服务器,你就需要登录每台服务器查看上面的日志,特别麻烦,如果通过集中式的日志服务,就可以将日志收集起来,统一管理。
2、集中式日志服务的架构
3、设置步骤
a.修改客户端的配置文件,路径是/etc/rsyslog.conf,加如下参数*.* @logserver。
b.修改服务端的配置文件,路径是/etc/rsyslog.conf,取消如下注释:
c.重启客户端和服务端的日志服务。
八、日志切割
logrotate |
日志切割 |
/etc/logrotate.conf |
配置文件 |
/etc/logrotate.d/ |
切割配置 |
logrotate
选项:
-v |
详细信息 |
-f |
强制 |