分析日志文件
1.日志的功能:
用于记录系统、程序运行中发生的各种事件
通过阅读日志,有助于诊断和解决系统故障
2.日志文件的分类:
2.1内核及系统日志
由系统服务rsyslog统一进行管理,日志格式基本类似
主配置文件/etc/rsyslog.conf
2.2用户日志
记录系统用户登录及退出系统的相关信息
2.3程序日志
由各种应用程序独立管理的日志文件,记录格式不统一
3日志保存的位置:
默认位于:/var/log目录下
4.主要日志文件介绍
4.1内核及公共消息日志:
/var/log/messages:记录linux内核消息及各种应用程序的公共公共日志信息,包括启动、IO错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息
4.2计划任务日志:
/var/log/cron记录crond计划任务产生的事件信息
4.3系统引导日志:
/var/log/dmesg:记录linux系统在引导过程中的各种事件信息
4.4邮件系统日志:
/var/log/maillog:记录进入或发出系统的电子邮件活动
4.5用户登录日志:
/var/log/secure:记录用户认证相关的安全事件信息
/var/log/lastlog:记录每个用户最近的登录事件,二进制格式
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件,二进制格式
/var/log/btmp:记录失败的、错误的登录尝试及验证事件,二进制格式
5.内核和系统日志
由系统服务rsyslog统一服务
软件包: rsyslog-7.4.7-16.el7.x86_64
主要程序: /sbin/rsyslogd
主配置文件: /etc/rsyslog.conf
vim /etc/rsyslog.conf ##查看rsyslog.conf配置文件
规则配置格式:
设备.级别 动作
*.info;mail.none;authpriv.none;cron,none /var/log/messages
*.info ##表示info等级及以上的所有等级的信息都写到对应的日志文件里
mail.none ##表示某事件的信息不写到日志文件里(这里比如邮件)
设备字段说明:
| 设备字段 | 说明 |
|---|---|
| auth | 用户认证时产生的日志 |
| authpriv | ssh、ftp等登录信息的验证信息 |
| daemon | 一些守护进程产生的日志 |
| ftp | FTP产生日志 |
| lpr | 打印相关活动 |
| mark | rsyslog服务内部的信息,时间标识 |
| news | 网络新闻传输协议(nntp) 产生的消息 |
| syslog | 系统日志 |
| uucp | 两个设备之间的相关通信 |
| console | 针对系统控制台的消息 |
| cron | 系统执行定时任务产生的日志 |
| kern | 系统内核日志 |
| local0-local7 | 自定义程序使用 |
| 邮件日志 | |
| user | 用户进程 |
日志消息的优先级别:(数字等级越小,优先级越高,消息越重要)
| 0 | emerg | 紧急 |
|---|---|---|
| 1 | alert | 警告 |
| 2 | crit | 严重 |
| 3 | err | 错误 |
| 4 | warning | 提醒 |
| 5 | notice | 注意 |
| 6 | info | 信息 |
| 7 | debug | 调试 |
举例:/var/log/maillog
mail.info #比指定级别更高的日志级别,包括指定级别自身,保存到/var/log/mai1llog中
mail.=info #明确指定日志级别为info,保存至/var/1og/maillog
mail.!info #除了指定的日志级别(info)所有日志级别信息,保存至/var/log/maillog
*.info #所有facility的info级别,保存至/var/log/maillog
mail.* # mail的所有日志级别信息,都保存至/var/log/maillog
mail.notice;news.info ## mail的notice以上记得日志级别和news的info以上的级别保存至/var/1og/maillog
mail,news.crit # mail和news的crit以上的日志级别保存/var/log/maillog中:“-”代表异步模式
日志记录的一般格式
用户日志分析
保存了用户登录、退出系统等相关信息
| 文件位置 | 介绍 |
|---|---|
| /var/log/lastlog | 最近的用户登录事件 |
| /var/log/wtmp | 用户登录、注销及系统开、关机事件 |
| /var/run/utmp | 当前登录的每个用户的详细信息 |
| /varlog/secure | 与用户验证相关的安全性事件 |
分析工具
users、who、 W. last, lastb
last 命令用于查询成功登录到系统的用户记录
lastb 命令用于查询登录失败的用户记录
程序日志分析
由相关的应用程序独立进行管理
Web服务:/var/log/httpd/
access_log ——记录客户访问事件
error_log ——记录错误事件
代理服务:/var/log/squid/
access.log、cache.log
分析工具
文本查看、grep过来检索、Webmin管理套件中查看
awk、sed等文本过滤、格式化编辑工具
Webalizer、Awstats等专用日志分析工具
日志管理策略
及时做好备份和归档(rsyslog shell/python脚本 ELK)
延长日志保存期限
控制日志访问权限
日志中可能会包含各类敏感信息,如账户和口令等
集中管理日志
- 将服务器的日志文件发到统一-的日志文件服务器
- 便于日志信息的统- -收集、 整理和分析
- 杜绝日志信息的意外丢失、恶意篡改或删除