黑马韩前成linux从入门到精通之剖析日志系统


黑马韩前成linux从入门到精通之剖析日志系统
 
议程
理解syslog系统
熟悉syslogd的配置文件及其语法
学会查看系统日志
理解日志滚动的必要性及实现方法
  syslog
什么是syslog
.日志的主要用途是系统审计、检测追踪和分析统计。
.为了保证linux系统正常运行、准确解决遇到的各种各样的系统问题,认真地读取日志文件是管理员的一项非常重要的任务。
.linux内核由很多子系统组成,包括网络、文件访问、内存管理等。子系统需要给用户传送一些消息,这些消息包括消息的来源及其重要性等。所有的子系统都要把消息送到一个可以维护的公用消息区,于是,就有了syslog。
.syslog是一个综合的日志记录系统。它的主要功能是:方便日志管理和分类存放日志。syslog使程序设计者从繁重的、机械的编写日志文件代码的工作中解脱出来,每个程序都有自己的日志记录策略。管理员对保存什么信息或是信息存放在哪里没有控制权。
 
 syslogd的配置文件
.syslogd的配置文件在/etc/syslog.conf规定了系统中要监视的事件和相应的日志的保存位置。
.cat /etc/syslog.cong
 
  syslogd级别字段
.级别字段用于指明与每一种功能相关的级别和优先级:
alert----需要立即引起注意的情况。
crit----危险情况的报告。
err----除了emerg、alert、crit的其他错误。
warning----警告信息。
notice----需要引起注意的情况。
info----值得报告的信息。
debug------由运行于debug模式的程序所引起的消息。
none-----用于禁止任何消息。
*------所有级别。除了none。
emerg----出现紧急情况使得该系统不可用。
 syslogd动作字段
.动作字段用于描述对应功能的动作。
file-----指定一个绝对路径的日志文件记录日志信息。
username-----发送消息到指定用户,*代表所有用户。
device---将消息发送到指定的设备中,如/dev/consols。
@hostname将消息发送到可解析的远程主机hostname,且该主机必须正在运行syslogd并可以识别syslog的配置文件。
  查看日志文件
.常见的日志文件。
.日志文件通常存放在/var/log目录下。在该目录下除了包括syslogd记录的日志之外,同时还包含所用应用程序的日志。
.为了查看日志文件的内容必须要有root权限。日志文件中的信息很重要,只能让超级用户访问这次文件的权限。
   log
cups/------存储cups打印系统的日志记录。
httpd/---记录apache的访问日志和错误日志目录。
mail/----存储mail日志的目录。
news/----存储INN新闻系统的日志目录。
boot.log----记录系统启动日志。
dmesg-----记录系统启动时的消息日志。
maillog---记录邮件系统的日志。
messages----由syslogd记录的info或更高级别的消息日志。
secure-------由syslogd记录的认证日志。
WTMP----一个用户每次登陆进入和退出时间的永久记录。
 
  查看文本日志文件
.绝大多数日志文件都是纯文本文件,每一行就是一个消息。只要是在linux下能够处理纯文本的工具都能用来查看日志文件。可以使用cat、tac、more、less、tail和grep进行查看。
  .文件中每一行表示一个消息,而且都是由四个域的固定格式组成。
 
.时间标签(timestamp):表示消息发出的日期和时间。
.主机名(hostname):表示生成消息的计算机的名字。
.生成消息的子系统的名字。可以是"kernel",表示消息来自内核或者是进程的名字,表示发出消息的程序的名字。
.在方括号里的是进程的PID。
.消息(message):即消息的内容。
 
#strings wtmp
#ls
#strings btmp
 查看非文本日志文件
.也有一些日志文件是二进制文件,需要使用相应的命令
 
去读取#lastlog |more
.使用lastlog命令来检查某特定用户上次登录的时间,并
 
格式化输出上次登录日志/var/log/lastlog的内容。
.last
.last命令往回搜索/var/log/wtmp 来显示自从文件第一
 
次创建以来登录过的用户。
.lastb
.lastb命令搜索/var/log/btmp 来显示登录未成功的信息
 
.#last -f btmp
.who
.who命令查询wtmp文件并报告当前登录的每个用户。who
 
命令的缺省输出包括用户名、终端类型、登录日期及远程
 
主机。
.w
.w显示的信息更为详细。
  日志滚动
.为什么使用日志滚动
.所有的日志文件都会随着时间的推移和访问次数的增加
 
而迅速增长,因此必须对日志文件进行定期清理以免造成
 
磁盘空间的不必要的浪费。同时也加快了系统管理员查看
 
日志所用的时间,因为打开小文件的速度远比打开大文件
 
的速度要快的多。
.logrotate
命令格式为:logrorate [选项]<configfile>
-d:详细显示指令执行过程,便于排错或了解程序执行的
 
情况。
-f:强行启动记录文件维护操作,即使logrotate指令认
 
为无需要亦然。
-m command:指定发送邮件的程序,默认
 
为/usr/bin/mail。
-v:在执行日志滚动时,显示详细信息。
.logratate默认的主配置文件是/etc/logratate.conf
./etc/logratate.d的目录下的文件,这些文件被include
 
到主配置文件/etc/logratate.conf中。
 .每个文件的基本格式均为相同
 .#cat /etc/logratate.d/syslog

相关内容

    暂无相关文章