Linux日志系统

目标

对于日志系统有基础的认识,了解【常见的日志】【配置的日志】【轮替的日志】


学习目录

1.常见的日志
2.配置的日志
3.转储的日志


1.常见的日志

在Linux大部分发行版都内置使用rsyslog系统日志,常见的日志一般存放在/var/log中。
根据服务对象一般可以把日志分为两种:

  • 系统日志
  • 应用日志
    系统日志主要存放系统内置程序或系统内核之类的日志信息。
    应用日志主要是存放第三方应用所产生的日志。

常见的系统日志

alternatives.log 系统的一些更新替代信息记录
apport.log 应用程序崩溃信息记录
apt/history.log 使用apt-get安装卸载软件的信息记录
apt/term.log 使用apt-get时的具体操作
auth.log 登录认证的信息记录
boot.log 系统启动时的程序服务的日志信息
btmp 错误的信息记录
Consolekit/history 控制台的信息记录
dist-upgrade dist-upgrade 这种更新方式的信息记录
dmesg 启动时,显示屏幕上内核缓冲信息,与硬件有关的信息
dpkg.log dpkg 命令管理包的日志
faillog 用户登录失败详细信息记录
fontconfig.log 与字体配置有关的信息记录
kern.log 内核产生的信息记录,在自己修改内核时很有帮助
lastlog 用户的最近信息记录
wtmp 登录信息的记录,wtmp可以找出谁正在进入系统
syslog 系统信息记录

2.配置的日志

日志信息是如何实现的?

通过两种方式:

  • 一种由软件开发商自己来自定义日志格式然后指定输出日志位置
  • 一种方式就是Linux提供的日志服务程序,也就是rsyslog
    rsyslog的全称是 rocket-fast system for log,它提供了高性能高安全功能和模块化设计。

rsyslog的配置文件有什么呢?

  • 一个是/etc/rsyslog.conf
    #配置环境,也就是加载模块,文件所属者
  • 一个是/etc/rsyslog.d/50-default.conf
    #配置的Filter Conditions

rsyslog模块构成:

  • input
  • output
  • parser
  • queue
模块流程:通过input module收集消息,然后将收集的消息传送给parser module,通过分析模块的层层处理将真正需要的消息传送给output module,然后输出至日志文件。
queue模块:高并发模块。

etc/rsyslog.d/50-default.conf 配置文件

这个文件中主要是配置的 Filter Conditions,也就是我们在流程图中所看见的 Parser & Filter Engine,它的名字叫 Selectors 是过滤 syslog 的传统方法,他主要由两部分组成,facility 与 priority。

3.转储的日志

出现原因:每天都有许多的日志信息被写入文件,为了节约空间logratate诞生了。

logratate:日志文件管理工具。将旧的日志文件删除,创建新的日志文件,根据日志文件的大小或者日志文件的天数来切割日志,管理日志,这个过程叫做“转储”。

logratate是基于CRON来运行,其脚本是/etc/cron.daily/logratate,同时,可以在/etc/logratate中找到其配置文件。

logratate配置文件信息参数及含义

see “man logrotate” for details //可以查看帮助文档
rotate log files weekly
weekly //设置每周转储一次(daily、weekly、monthly当然可以使用这些参数每天、星期,月 )
keep 4 weeks worth of backlogs
rotate 4 //最多转储4次
create new (empty) log files after rotating old ones
create //当转储后文件不存在时创建它
uncomment this if you want your log files compressed
compress //通过gzip压缩方式转储(nocompress可以不压缩)
RPM packages drop log rotation information into this directory
include /etc/logrotate.d //其他日志文件的转储方式配置文件,包含在该目录下
no packages own wtmp – we’ll rotate them here
/var/log/wtmp { //设置/var/log/wtmp日志文件的转储参数
monthly //每月转储
create 0664 root utmp //转储后文件不存在时创建它,文件所有者为root,所属组为utmp,对应的权限为0664
rotate 1 //最多转储一次

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章