Linux 日志系统及分析
简介
在Centos 7.x / RHEL 7.x 的版本,系统日志是由一个名为 rsyslog的服务管理的,默认的日志守护进程为 rsyslog , rsyslog 是 syslog 的升级版本,默认安装,随机启动。
主配置文件:
/etc/rsyslog.conf
Linux系统日志的重要性无需多言,日志对管理员来说,是了解系统运行的主要途径,因此需要对 Linux 日志系统有个详细的了解。
Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息,这些各种信息都应该记录到日志文件中,完成这个过程的程序就是 rsyslog,rsyslog 可以根据日志的类别和优先级将日志保存到不同的文件中。
日志类型
常见的日志类型:
日志的优先级
常见的日志优先级:
常见的日志文件
系统日志一般存储于 /var/log 目录下,查看 rsyslog.conf:
通过查看 rsyslog.conf 可以总结出部分日志文件记录的信息。
/var/log/message:记录Linux操作系统常见的系统和服务错误信息
/var/log/boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
/var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息(一般通过命令 lastlog 查看)
/var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况
/var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址
/var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
/var/log/message
记录了系统日常的一些操作,内核态和用户态的信息都有,对于这个文件,我们日常只需要关注一些错误和告警信息:
[root@192.168.118.15 ~]#egrep -ri 'error|warn' /var/log/messages
这里有必要记录下最近查看 messsage 遇到的问题:
查看 message 时,发现了大量 类似 开启 session 会话的东西,一看是 root 立刻提高警惕。查看时间,发现规律:每 10 分钟执行一次,因此怀疑是 crond 计划任务,转而查看 /var/log/cron 日志:
查看后,发现时间刚好能匹配上。分析:
- cron 每小时默认每小时执行的任务在 /etc/cron.hourly/ 目录下
- 每十分钟执行的命令: /usr/lib64/sa/sa1 1 1
归根到底,我们发现原来是 sysstat 包生成的这个计划任务,每10分钟就会去执行一次,这个命令是为了收集系统运行数据,以供 sar 命令使用。
该疑问解除,又产生了疑问:
- 为什么会产生这样的 session 日志?
- 如果正常登录系统,会怎么记录 session
第一个问题:
经过测试,这种会话的产生是系统执行了一个 bash脚本,查看了一个新的bash环境。执行完毕就退出了,关键字(starting、started)
如下的日志,表示运行了一个shell脚本,starting开启一个shell,started的时候结束一个shell
而真正登录一个会话,会有一个 logind 的过程记录:
因此不要胡乱猜测是谁在不停的扫描或者在不停的通过 root 登录。
/var/log/boot.log
该日志记录的是系统启动的过程
可以通过该日志,查看某些服务启动成功或者失败。
/var/log/lastlog
不用直接查看该日志文件,通过命令:lastlog 查看:
查看的某系统用户最后一次登录的记录,一些系统用户从来不登录最后一次就是 **Never logged in**
通过 last 可以查看那些会话在线,什么时候重启。记录了登录会话的时间,但是无法查看是哪个用户执行了重启的操作。
/var/log/secure
主要记录用户登录认证。
如果出现大量: authentication failure; 就表示有程序或者人为在尝试登录。可以通过加强 ssh 或者 iptables 来管控登录次数。
/var/log/btmp
记录Linux登陆失败的用户、时间以及远程IP地址
该文件是一个二进制保存的文件,直接使用 lastb 命令查看。如果该日志文件过大,可以清空该文件。
上图所有记录的信息都是尝试登录失败的记录。
/var/log/wtmp
该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
直接使用 last 命令查看:
Linux 日志系统及分析的更多相关文章
- Android应用程序框架层和系统运行库层日志系统源代码分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6598703 在开发Android应用程序时,少 ...
- Linux日志 系统日志及分析
Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息. 大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 / ...
- Linux日志系统
常见的日志 常见的日志一般存储在/var/log中.常见的日志查看使用:ls/ll,cat/more/less查看即可:wtmp,lastlog使用last和lastlog提取其信息即可 配置日志 较 ...
- linux日志朔源分析记录
lastlog 记录用户最后一次登录情况 只有root最近登录过 lastlog -u 用户名或者uid uid 直接在passwd文件中的低三位可以看到 lastb 记录用户用户登录失败的用户记录, ...
- 升级你的Linux日志系统
650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic.php?refimg=" ...
- Linux日志分析的实战专题
来自 日志也是用户应该注意的地方之一.不要低估日志文件对网络安全的重要作用,因为日志文件能够详细记录系统每天发生的各种各样的事件.用户可以通过日志文件 检查错误产生的原因,或者在受到攻击和黑客入侵 ...
- Android日志系统Logcat源代码简要分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6606957 在前面两篇文章Android日志系 ...
- Linux系统级日志系统
linux日志系统,在不同的发行版本名字不同.本质一样都是对系统运行非正常状态的记录... rhel5.x syslogrhel6.x rsyslog service rsyslog st ...
- Linux - 日志文件
Linux日志文件绝大多数存放在/var/log目录,其中一些日志文件由应用程序创建,其他的则通过syslog来创建. Linux系统日志文件通过syslog守护程序在syslog套接字/dev/lo ...
随机推荐
- 【题解】CF#855 G-Harry Vs Voldemort
个人感觉挺有意思的,然而被颜神D无聊惹(- ̄▽ ̄)- 这题我们可以首先试图去统计以每一个点作为 w 点所能对答案造成的贡献是多少.不难发现,当且仅当 u 和 v 都在 w 所在边双的一侧的时候不能构成 ...
- HDU.2640 Queuing (矩阵快速幂)
HDU.2640 Queuing (矩阵快速幂) 题意分析 不妨令f为1,m为0,那么题目的意思为,求长度为n的01序列,求其中不含111或者101这样串的个数对M取模的值. 用F(n)表示串长为n的 ...
- sass的颜色函数
sass中有些非常实用的颜色处理函数,总结如下 1.颜色加深或变浅 lighten($color,$amount) //颜色变浅 darken($color,$amount) //颜色加深 例如: l ...
- Poco::URI
#include<iostream> #include<typeinfo> #include<Poco/Path.h> #include <Poco/Dire ...
- RobHess的SIFT源码分析:imgfeatures.h和imgfeatures.c文件
SIFT源码分析系列文章的索引在这里:RobHess的SIFT源码分析:综述 imgfeatures.h中有SIFT特征点结构struct feature的定义,除此之外还有一些特征点的导入导出以及特 ...
- django-jet 中文文档
关于 JET是新式的Django管理界面并且增强了功能. 内容 文档 开始 安装django-jet 安装仪表盘 配置 配置文件 自动补全 紧凑内联 过滤器 仪表盘 自定义仪表盘 仪表盘模块 ...
- URAL - 1627:Join (生成树计数)
Join 题目链接:https://vjudge.net/problem/URAL-1627 Description: Businessman Petya recently bought a new ...
- Tree and Permutation dfs hdu 6446
Problem Description There are N vertices connected by N−1 edges, each edge has its own length.The se ...
- git fatal: 拒绝合并无关的历史的错误解决
本地初始化的项目 与 github 版本不一致, 导致无法提交 $ git pull origin master 来自 https://github.com/itaken/python-login-d ...
- SNS应用好友动态Feed模块设计
转载自:http://libo93122.blog.163.com/blog/static/122189382012112145728902/ 备注:找不到原作者了. 现在大部分SNS网站都有一个功能 ...