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