您好,欢迎访问三七文档
系统日志管理日志文件概述系统的日志文件不仅可以让管理员了解系统状态,在系统出现问题时系统管理员可以查阅日志文件来确定系统当前状态、观察入侵者踪迹、寻找某特定程序(或事件)相关的数据日志和日志系统简介日志的主要用途系统审计、监测追踪和分析统计。日志系统的由来Linux内核由很多子系统组成,包括网络、文件访问、内存管理等。子系统需要给用户传送一些消息,这些消息内容包括消息的来源及其重要性等。所有的子系统都要把消息送到一个可以维护的公用消息区,于是,就有了syslog日志系统。syslogsyslog是一个综合的日志记录系统。syslog主要功能方便日志管理分类存放日志syslog的组成日志守护进程klogd:只处理内核消息日志守护进程syslogd:处理其他系统消息syslogd与klogd守护进程行的基本语法是:[选择器][动作]注意:中间的分隔符必须是Tab字符!选择器是由“设备”和“优先级”构成,中间用点号连接。动作“动作”选项可以对日志进行处理。可以把它存入硬盘,转发到另一台机器或显示在管理员的终端上。配置日志文件syslog.conf动作:文件名写入某个文件,要注意绝对路径。@主机名转发给另外一台主机的syslogd程序。@IP地址同上,只是用IP地址标识而已。/dev/console发送到本地机器屏幕上。*发送到所有用户的终端上。|程序通过管道转发给某个程序。例如:kern.emerg/dev/console(一旦发生内核的紧急状况,立刻把信息显示在控制台上)选择器--消息来源“设备”代表信息产生的源头,可以是:auth认证系统,即询问用户名和口令cron系统定时系统执行定时任务时发出的信息daemon某些系统的守护程序的syslog,如由in.ftpd产生的logkern内核的syslog信息lpr打印机的syslog信息mail邮件系统的syslog信息mark定时发送消息的时标程序news新闻系统的syslog信息user本地用户应用程序的syslog信息uucpuucp子系统的syslog信息local0..7种本地类型的syslog信息,这些信息可以又用户来定义*代表以上各种设备优先级“优先级”代表信息的重要性,可以是:emerg紧急,处于Panic状态。通常应广播到所有用户;alert告警,当前状态必须立即进行纠正。例如,系统数据库崩溃;crit关键状态的警告。例如,硬件故障;err其它错误;warning警告;notice注意;非错误状态的报告,但应特别处理;info通报信息;debug调试程序时的信息;none通常调试程序时用,指示带有none级别的类型产生的信息无需送出。如*.debug;mail.none表示调试时除邮件信息外其它日志文件syslog.conf//将info或更高级别的消息送到/var/log/messages,除了mail以外。//其中*是通配符,代表任何设备;none表示不对任何级别的信息进行记录。*.info;mail.none;authpriv.none/var/log/messages//将authpirv设备的任何级别的信息记录到/var/log/secure文件中,这主要是一些和权限使用相关的信息。authpriv.*/var/log/secure//将mail设备中的任何级别的信息记录到/var/log/maillog文件中,这主要是和电子邮件相关的信息。mail.*/var/log/maillog//将cron设备中的任何级别的信息记录到/var/log/cron文件中,这主要是和系统中定期执行的任务相关的信息。cron.*/var/log/cron//将任何设备的emerg级别的信息发送给所有正在系统上的用户。*.emerg*//将uucp和news设备的crit级别的信息记录到/var/log/spooler文件中。uucp,news.crit/var/log/spooler//将和系统启动相关的信息记录到/var/log/boot.log文件中。local7.*/var/log/boot.log修改syslog.conf配置文件之后,必须通知syslogd和klogd重新读取该配置文件,这样改动才会生效。ServicesyslogrestartKill–HUP`cat/var/run/syslogd.pid`Kill–HUP`cat/var/run/klogd.pid`killall-HUPsyslogkillall-HUPklog常见的日志文件所有的日志文件通常存放在“/var/log”目录下。为了查看日志文件的内容必须要有“root”权限。为了保证Linux系统正常运行、准确解决遇到的各种各样的系统问题,认真地读取日志文件是管理员的一项非常重要的任务。Linux系统中日志分为两大类:系统日志应用程序日志常用日志文件/var/log/boot.log/var/log/dmesg/var/log/messages/var/log/cron/var/log/lastlog/var/log/secure/var/log/wtmp……查看文本日志文件查看文本日志文件使用cat、tac、more、less、tail和grep查看文本日志文件。使用相关命令查看非文本日志文件例如:使用lastlog命令读取日志文件/var/log/lastlog检查用户上次登录的时间#lastloglast命令往回搜索wtmp来显示自从文件第一次创建以来登录过的用户#lastwho命令查询wtmp文件并报告当前登录的每个用户#who图形化管理系统日志选择“系统”|“管理”|“系统日志”命令,系统将打开“系统日志查看器”窗口在“系统日志”窗口中,可看到系统包含了很多日志文件:引导日志、Cron日志、内核启动日志和邮件日志等。单击某一日志文件,在窗口的右侧将显示该日志文件包含的信息。分析日志文件对日志文件进行分析是必要的,因为其中包含了关于Linux系统中所发生事件的有价值的记录信息。这些信息可以用来检查各种问题、观察入侵者以及生成所在系统的统计信息系统管理员应该定期地对日志文件进行检查,以发现潜在的问题,并在这些问题变得棘手之前解决通过对日志文件的定期检查,管理员会逐渐熟悉在日志文件中,哪些代表了正常行为、哪些代表发生了预期外的事件转储日志文件清除旧日志文件,腾出磁盘空间存储新的日志信息压缩日志文件,并将其存储在日志存档介质中,以作为系统活动的长期记录重命名并压缩日志文件,以便于将来的进一步研究通常的日志转储系统存储日志文件的周期为一个月,并为每星期生成单独的存档文件日志文件通常会被移动到其他目录和文件系统(另外的硬盘或硬盘分区)存储,以便腾出根分区的空间。日志滚动(1)为什么使用日志滚动所有的日志文件都会随着时间的推移和访问次数的增加而迅速增长,因此必须对日志文件进行定期清理以免造成磁盘空间的不必要的浪费。日志滚动程序RedHat下有一个专门的日志滚动处理程序logrotatelogrotate能够自动完成日志的压缩、备份、删除工作系统默认把logrotate加入到系统每天执行的计划任务中,这样就省得管理员自己去处理了。日志滚动(2)logrotate的配置文件/etc/logrotate.conf#cat/etc/logrotate.conf//每周清理一次日志文件weekly//保存过去四周的日志文件rotate4//清除旧日志文件的同时,创建新的空日志文件create//包含/etc/logrotate.d目录下的所有配置文件include/etc/logrotate.d/etc/logrotate.d目录#ls/etc/logrotate.dcupshttpdmysqldnamedrpmsambasnmpdsyslogup2datevsftpd.log每个文件的基本格式#catsyslog/var/log/messages/var/log/secure/var/log/maillog/var/log/spooler/var/log/boot.log/var/log/cron{sharedscriptspostrotate/bin/kill-HUP`cat/var/run/syslogd.pid2/dev/null`2/dev/null||trueendscript}默认安排logrotate每天执行一次#cat/etc/cron.daily/logrotate//usr/sbin/logrotate/etc/logrotate.conf
本文标题:系统日志管理
链接地址:https://www.777doc.com/doc-3969755 .html