linux日志文件详解
目录
- 一、日志文件的分类
- 二、日志文件位置
- 三、常见日志文件
- 1.分析日志文件
- 2.内核及系统日志
- 四、日志消息等级
- 五、日志文件分析
- 1.用户日志
- 2.程序日志
- 六、日志分析注意事项
一、日志文件的分类
日志文件是用于记录Linux系统中各种运行消息的文件,相当于Linux主机的“日记”。不同的日
志文件记载了不同类型的信息,如Linux内核消息、用户登录事件、程序错误等
·日志文件对于诊断和解决系统中的问题很有帮助,因为在Linux系统中运行的程序通常会把系统
消息和错误消息写入相应的日志文件,这样系统一旦出现问题就会"有据可查”。此外,当主机
遭受攻击时,日志文件还可以帮助寻找攻击者留下的痕迹
内核及系统日志:这种日志数据由系统服务rsyslog统一管理,根据其主配置文件
/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置
用户日志:这种日志数据用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登
录的终端、登录时间、来源主机、正在使用的进程操作等
程序日志:有些应用程序会选择由自己独立管理一份日志文件(而不是交给rsyslog服务管理),用于记录本程序运行过程中的各种事件信息
二、日志文件位置
Linux系统本身和大部分服务器程序的日志文件默认都放在目录/var/log/下
一部分程序共用一个日志文件,一部分程序使用单个日志文件,而有些大型服务器程序由于日志文件不止个,所以会在/var/log/目录中建立相应的子目录来存放日志文件,这样既保证了日志文件目录的结构清晰,又可以快速定位日志文件
有相当一部分日志文件只有root用户才有权限读取,这保证了相关日志信息的安全性
三、常见日志文件
/var/log/inessages | 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、I/O错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息 |
---|---|
/var/log/cron | 记录crondi计划任务产生的事件信息 |
/var/log/dmesg | 记录Linux系统在引导过程中的各种事件信息 |
/var/log/maillog | 记录进入或发出系统的电子邮件活动 |
/var/log/lastlog | 记录每个用户最近的登录事件 |
/var/log/secure | 记录用户认证相关的安全事件信息 |
/var/log/wtmp | 记录每个用户登录、注销及系统启动和停机事件 |
/var/log/btmp | 记录失败的、错误的登录尝试及验证事件 |
1.分析日志文件
分析日志文件的目的在于通过浏览日志查找关键信息、对系统服务进行调试,以及判断发生故障的原因等
对于大多数文本格式的日志文件(如内核及系统日志、大多数的程序日志) ,只要使用tail、 more、 less、 cat等文本处理工具就可以查看日志内容
而对于些二进制格式的日志文件 (如用户日志),则需要使用特定的查询命令
2.内核及系统日志
rsyslog服务所使用的配置文件为/etc/rsyslog.conf.通过查看该文件中的内容,
可以了解到系统默认的日志设置
# grep -v "^$” /etc/rsyslog.conf
从配置文件/etc/rsyslog.conf中可以看到,受rsyslogd服务管理的日志文件都是Linux系统中最主要的日志文件,它们记录了Linux系统中内核、用户认证、邮件、计划任务等最基本的系统消息
四、日志消息等级
在Linux内核中,根据日志消息的重要程度不同,将其分为不同的优先级别(数字等级越小,优先级越高,消息越重要)
等级 | 等级信息 | 效果 |
---|---|---|
0 | EMERG (紧急) | 会导致主机系统不可用的情况 |
1 | ALERT (警告) | 必须马上采取措施解决的问题 |
2 | CRIT (严重) | 比较严重的情况 |
3 | ERR(错误) | 运行出现错误 |
4 | WARNING (提醒) | 可能影响系统功能 ,需要提醒用户的重要事件 |
5 | NOTICE (注意) | 不会影响正常功能,但是需要注意的事件 |
6 | INFO(信息) | 一般信息 |
7 | DEBUG (调试) | 程序或系统调试信息等 |
五、日志文件分析
内核及大多数系统消息都被记录到公共日志文件/var/loq/messaqes中,而其他一些程序消息被记
录到各自独立的日志文件中
对于rsyslog服务统管理的大部分日志文件,使用的日志记录格式基本上都是相同的。以公共日志/var/loq/messaqes文件的记录格式为例,其中每一行表示一条日志消息,每一条消息均包括以下
四个字段:
时间标签:消息发出的日期和时间
主机名:生成消息的计算机的名称
子系统名称:发出消息的应用程序的名称
消息:消息的具体内容
1.用户日志
在wtmp、btmp、 lastlog等日志文件中 ,保存了系统用户登录、 退出等相关的事件消息。 但是这
些文件都是二进制的数据文件,不能直接使用tail、less等文本查看工具进行浏览,需要使用who、w、users、 last和lastb等用户查询命令来获取日志信息
查询当前登录的用户情况: users、who、 w
users命令 只是简单地输出当前登录的用户名称每个显示的用户名对应一个登录会话。如果一个
用户有不止一个登录会话,那他的用户名将显示与其相同的次数
who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行审计和处理who的默认输出包括用户名、终端类型、登录日
期及远程主机
w命令用于显示当前系统中的每个用户及其所运行的进程信息,比users、 who命令的输出内容要更加丰富一些
查询用户登录的历史记录: last、lastb命令
last命令用于 查询成功登录到系统的用户记录,最近的登录情况将显示在最前面。通过last命令可
以及时掌握Linux主机的登录情况,若发现未经授权的用户登录过,表示当前主机可能已被入侵
lastb命令用于查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况都将记录在案。
用于登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除了使用lastb命令
查看以外,也可以直接从安全日志文件/var/log/secure中获得相关信息
2.程序日志
在Linux系统中,还有相当一部分应用程序并没有使用rsyslog服务来管理日志,而是由程序自己
维护日志记录
例如,httpd网站服务程序使用两个日志文件access_ log和error. log,分别记录客户访问事件
错误事件
由于不同应用程序的日志记录格式差别较大,并没有严格使用统一的格式,这里不再详细介绍
六、日志分析注意事项
总地来说,作为一名合格的系统管理人员,应该提高警惕,随时注意各种可疑状况,定期并随机地检查各种系统日志文件,包括一般信息日志、网络连接日志、文件传输日志及用户登录日志记录等。在检查这些日志时,要注意是否有不合常理的时间或操作记录。例如,出现以下一些现象就应多加注意:
用户在非常规的时间登录,或者用户登录系统的IP地址和以往的不一样
用户登录失败的日志记录,尤其是那些一再连续尝试进入失败的日志记录
非法使用或不正当使用超级用户权限
无故或者非法重新启动各项网络服务的记录
不正常的日志记录,如日志残缺不全,或者是诸如wtmp这样的日志文件无故缺少了中间的记录文件
linux日志文件详解相关推荐
- 红帽linux 系统日志,RedHat系统常见的日志文件详解一
RedHat系统常见的日志文件详解一 /var/log/boot.log 该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息.% @7 h7 s, Y5 z! V' h- ...
- mysql启动失败 查看日志文件_mysql诊断启动问题、查看日志文件详解
诊断启动问题 服务器启动问题通常在对MySQL配置或服务器本身进行更改时出现.MySQL在这个问题发生时报告错误,但由于多数MySQL服务器是作为系统进程或服务自动启动的,这些消息可能看不到. 在排除 ...
- Linux日志选项详解及日志服务器的实现
Linux日志服务器的实现 一:基本概念 1: 软件包 syslogd 2: /etc/syslog.conf 配置文件 格式:facility.level action (设备. 优先级动作) ...
- Linux根目录文件详解
/bin 二进制可执行命令/dev 设备特殊文件/etc 系统管理和配置文件/etc/rc.d 启动的配置文件和脚本/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以 ...
- 查看mysql的启动日志目录下_mysql诊断启动问题、查看日志文件详解
诊断启动问题 服务器启动问题通常在对MySQL配置或服务器本身进行更改时出现.MySQL在这个问题发生时报告错误,但由于多数MySQL服务器是作为系统进程或服务自动启动的,这些消息可能看不到. 在排除 ...
- oracle重做日志详解,oracle数据文件、控制文件、重做日志文件详解
什么是数据文件.控制文件.重做日志文件? 首先从Oracle的官方文档里摘录下面内容: The following sections explain the physical database str ...
- linux .so文件详解
转载▼ linux下文件的类型是不依赖于其后缀名的,但一般来讲: .o,是目标文件,相当于windows中的.obj文件 .so 为共享库,是shared object,用于动态连接的,和dll差不多 ...
- 运维基础(二):Tomcat日志文件详解
一.tomcat日志文件路径 tomcat/logs 二.tomcat日志配置文件 tomcat对应日志的配置文件:tomcat目录下的/conf/logging.properties tomcat的 ...
- EOS5 默认日志文件详解及生产问题定位规则
在EOS5中,日志文件中记录 信息一般是如下格式[@数据类型][数据值],带有@的是表示后面值的类型,值会紧跟着对应的数据的类型 EOS产生的日志文件有如下四个 1.eoslog.log,这个文件中记 ...
最新文章
- SecureCRT 端口转发连接服务器
- OpenBFDD的安装与使用
- win8.1安装veket的方法
- 记一次LVM修复过程
- tar.gz 文件类型(tar文件的解压和压缩)
- 11.Java 面试题整理(编程题)
- 2020 年微服务领域开源数字化报告发布,阿里扛起微服务大旗
- matlab 线性规划求最大值,MATLAB求解线性规划(含整数规划和01规划)问题.pdf
- fir 低通 matlab,用MATLAB设计FIR滤波器
- 海湾汉字编码表全部_汉字编码简明对照表
- JS实现实时显示时间
- react项目中使用echart
- 更好的 java 重试框架 sisyphus 配置的 2 种方式介绍
- java各位数字补位,左边补0
- 八百元八核的服务器?二手服务器搭建指南
- 免费的PHP在线解密工具源码
- 游戏中找CALL的万能方法
- maven archetype 自定义
- PHP动态网站开发技术
- [CodeForces-759D]Bacterial Melee