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