Linux日志文件管理
日志的功能:
用于记录系统程序运行中发生的各种事件
通过阅读日志,有助于诊断和解决系统故障
a)主要日志文件
内核及系统日志:由系统服务syslog统一管理,根据其主配置文件/etc/syslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置
用户日志:用于记录linux系统用户登录及退出系统的相关信息。包括用户名、登录的终端、登录的时间、来源主机、正在使用的进程操作等
程序日志:由各种应用程序独立管理的日志文件,记录格式不统一
日志保存位置:/var/log/messages
主要日志文件介绍:
/var/log/messages :记录linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等
/var/log/cron :记录crond计划任务产生的事件信息
/var/log/dmesg :记录linux系统在引导过程中的各种事件信息
/var/log/maillog :记录进入或发出系统的电子邮件活动
/var/log/rpmpkgs :记录系统中安装的各rpm包列表信息
Eg:列表查看默认的日志目录及文件
ls /var/log
b)日志文件分析
1.内核及系统日志
由系统服务syslog统一管理
软件包:syslogd -1.4.1-39.2
主要程序:/sbin/klogd、 /sbin/syslogd
配置文件:/etc/syslog.conf
Eg:查看/etc/syslog.conf文件中的内容,了解系统默认的日志设置
Grep - v “^$” /etc/syslog.conf ——过滤空行
受syslogd服务管理的日志文件都是linux系统中最主要的日志文件,记录了linux系统中内核、用户认证、邮件、计划任务等最基本的系统消息
0EMERG(紧急)<?xml:namespace prefix="o">?xml:namespace> | 会导致主机系统不可用的情况 |
1ALERT(警告) | 必须马上采取措施解决的问题 |
2CRIT(严重) | 比较严重的情况 |
3ERR(错误) | 运行出现错误 |
4WARNING(提醒) | 可能影响系统功能,需要提醒用户的重要事件 |
5NOTICE(注意) | 不会影响正常功能,但是需要注意的事件 |
6INFO(信息) | 一般信息 |
7DEBUG(调试) | 程序或系统调试信息等 |
Eg:通过查看/var/log/messages文件了解系统启动过程中的内核加载、硬件识别等信息
Less /var/log/messages = dmesg | less
/var/log/messages文件记录格式:
时间标签:消息发出的日期和时间
主机名:生成消息的计算机的名称
子系统名称:发出消息的应用程序的名称
消息:消息的具体内容
Syslog日志服务是一个常会被***的显著目标,破坏了它将会使管理员难以发现***以及***的痕迹【需要特别注意监控其守护进程以及配置文件】
2.用户日志
保存用户登录、退出系统等相关信息
/var/log/lastlog:记录每个用户最近的登录事件
/var/log/secure :记录用户认证相关的安全事件信息
/var/log/wtmp :记录每个用户登录、注销及系统启动和停机事件
/var/run/btmp :记录失败的、错误的登录尝试及验证事件
1)Users 、who、w 命令——查询当前登录的用户情况
Users:简单输出当前登录用户名称、每个显示的用户名对应一个登录会话
Who :报告当前登录到系统中的每个用户的信息
(默认输出包括用户名、终端类型、登录日期及远程主机)
W:用于显示当前系统中的每个用户及其所运行的进程信息
2)Last、lastb命令——查询用户登录的历史记录
Last :查询成功登录到系统的用户记录,最近的登录情况将显示在最前面
Lastb :查询登录失败的用户记录,比如登陆地用户名错误、密码不正确等
3.程序日志
1)由相应的应用程序独立进行管理
Web服务:/var/log/httpdaccess_log、 error_log
代理服务:/var/log/squidaccess_log、cache.log 、squid.out 、store.log
FTP 服务: /var/log/xferlog
2)分析工具
文本查看、grep过滤检索、webmin管理套件中查看
Awk 、sed等文本过滤、格式化编辑工具
Webalizer 、awstats等专用日志分析工具
3)日志管理策略
及时做好备份和归档
延长日志保存期限
控制日志访问权限(日志中可能会包含各类敏感信息,如账户、口令等)
集中管理日志
便于日志信息的统一收集、整理和分析
杜绝日志信息的意外丢失、恶意篡改或删除
Eg:集中管理日志服务器:
<?xml:namespace prefix="v">?xml:namespace>
步骤:
调整syslogd服务器设置,建立集中管理的日志服务器
将客户机B中crond服务产生的日志消息,自动发送到服务器A的/var/log/cron文件中