【linux】——日志分析

news2024/11/13 20:41:50

文章目录

  • 1. 日志文件
    • 1.1 日志文件的分类
    • 1.2 日志文件保存位置
      • 1.2.1 内核及系统日志
      • 1.2.2 日志消息的级别
      • 1.2.3 日志记录的一般格式
      • 1.2.4 用户日志分析
    • 程序日志分析
      • 日志管理策略
    • 远程收集日志

1. 日志文件

1.1 日志文件的分类

在这里插入图片描述

日志文件是用于记录Linux系统中各种运行消息的文件,相当于Linux主机的“日记".

日志文件对于诊断和解决系统中的问题很有帮助,系统一旦出现问题时及时分析日志就会“有据可查”。此外。当主机遭受攻击时,日志文件还可以帮助寻找攻击者留下的痕迹.

不同的日志文件记载了不同类型的信息。例如Linux内核消息、用户登录记录、程序错误等。

rsyslog.service:管理系统日志的服务,要设置为开机自启;

[root@clr ~]# systemctl status rsyslog.service 
● rsyslog.service - System Logging Service
   Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2023-03-23 11:03:03 CST; 3 weeks 3 days ago
416 13:12:01 clr rsyslogd[1076]:  [origin software="rsyslogd" swVersion="8.24.0-55.el7"...Ped
Hint: Some lines were ellipsized, use -l to show in full.

/etc/rsyslog.conf:系统日志的主配置文件;

[root@clr ~]# ls /etc/rsyslog.conf
/etc/rsyslog.conf

1.2 日志文件保存位置

在这里插入图片描述

/var/log/messages:记录linux内核消息及名种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等,对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文中获得相关的事件记录信息

/var/log/cron:记录crond计划任务产生的事件信息

/var/log/dmesg:记录linux系统在引导过程中的各种事件信息

/var/log/maillog:记录进入或发出系统的电子邮件活动

/var/log/lastlog:记录每个用户最近的登录事件

/var/log/rpmpkgs:记录系统中安装的各rpm包列表信息

/var/log/secure:记录用户认证相关的安全事件信息

/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件

/var/run/btmp:记录失败的、错误的登录尝试及验证事件

1.2.1 内核及系统日志

在这里插入图片描述

由rsyslog软件包提供了rsyslogd程序。分别用于记录系统内核的消息和各种应用程序的消息

在/etc/syslog.conf 配置文件中,配置记录的格式如下(具体参考man syslog.conf):

设备类别.日志级别 日志消息发送位置

—— 如果需要在同一行中设置多个“设备.级别”组合,每组之间用分号隔开

—— 发送位置可以是本机的用户名:“-/var/log/maillog”中前面的"-"表示每次记录日志时并不马上进行数据同步

1.2.2 日志消息的级别

在这里插入图片描述

1.2.3 日志记录的一般格式

·在这里插入图片描述

vim messages-20230416:查看指定日期的内核及公共消息日志;

在这里插入图片描述

/etc/rsyslog.conf:记录内核及系统服务的日志文件;

[root@clr /var/log]# vim /etc/rsyslog.conf
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;authpriv.none #(所有程序从info级别往上开始记录,但mail、authpriv和authpriv设备的日志信息除外,不做记录)               /var/log/messages

# The authpriv file has restricted access.
authpriv.*     #记录ssh、ftp等登录信息的验证信息authpriv所有级别的日志信息                                      /var/log/secure

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*       #记录邮件信息mail所有级别的日志信息,并且采用异步模式进行记录                                           -/var/log/maillog

# Save boot messages also to boot.log
local7.*      #自定义设备                                          /var/log/boot.log

1.2.4 用户日志分析

在这里插入图片描述

注意:除了==/var/log/secure文件以外,其他三个用户日志文件都是二进制的数据文件==,无法直接使用tail、 less等文本查看工具浏览。

lastb:查询系统中登录失败的用户记录;

[root@clr /etc/httpd]# lastb  #查询系统中登录失败的用户记录
root     ssh:notty    192.168.80.20    Sun Apr 16 19:38 - 19:38  (00:00)   #root用户从192.168.80.20这个ip地址登录系统
test     :1           :1               Sun Apr 16 19:33 - 19:33  (00:00)    
cCLR     :1           :1               Sun Apr 16 19:33 - 19:33  (00:00)    

last:用于查询成功登录到系统的记录;

[root@clr /etc/httpd]# last  #用于查询成功登录到系统的记录
root     pts/0        192.168.80.1     Sun Apr 16 19:31   still logged in   
root     pts/2        192.168.80.1     Sun Apr 16 18:49   still logged in   
root     :0           :0               Thu Mar 23 01:07 - crash  (00:07)    
reboot   system boot  3.10.0-1160.el7. Thu Mar 23 00:55 - 19:36  (-5:-19)   

程序日志分析

在这里插入图片描述

cat messages | grep [服务名] #从messages日志文件中过滤指定服务的日志文件;

[root@clr /var/log]# cat messages | grep httpd  #从messages日志文件中过滤指定服务httpd的日志文件
Apr 16 16:06:42 clr yum[6021]: Installed: httpd-tools-2.4.6-98.el7.centos.7.x86_64
Apr 16 16:06:44 clr yum[6021]: Installed: httpd-2.4.6-98.el7.centos.7.x86_64
Apr 16 16:07:50 clr httpd: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.80.1. Set the 'ServerName' directive globally to suppress this message

cat secure | grep ‘指定要求’ #从secure日志文件中过滤指定要求信息的日志文件;

[root@clr /var/log]# cat secure | grep 'Unregistered  Authentication'  #从secure日志文件中过滤未注册身份验证信息的日志文件
Apr 16 16:07:50 clr polkitd[603]: Unregistered Authentication Agent for unix-process:6071:1439270 (system bus name :1.231, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale zh_CN.UTF-8) (disconnected from bus)

日志管理策略

在这里插入图片描述

find [目录名] -mtime +30:查询指定目录下30天以前的文件和目录;

[root@clr /var/log]# find /var/log/ -mtime +30  #查看/var/log/目录下30天以前的文件和目录
/var/log/samba/old
/var/log/ppp
/var/log/glusterfs
/var/log/speech-dispatcher
/var/log/swtpm/libvirt/qemu
/var/log/qemu-ga
[root@clr /var/log]# find /var/log/ -mtime +30 -delete  #查看/var/log/目录下30天以前的文件和目录,并且删除该查找到的文件和目录


[root@clr /var/log]# find /var/log/ -mtime +3 -exec ls -l {} \;  #查看/var/log/目录下3天以前的文件和目录,并显示出来
-rw-r--r--. 1 root root 193 323 00:42 /var/log/grubby_prune_debug
总用量 0
drwx------. 2 root root 6 1014 2020 old
drwx------. 2 root root 6 1014 2020 qemu
总用量 0
总用量 0
总用量 0
-rw-r--r--. 1 root root 38017 322 19:36 /var/log/gdm/:0.log.4
-rw-r--r--. 1 root root 36887 323 10:54 /var/log/gdm/:0.log.3
-rw-r--r--. 1 root root 0 323 10:54 /var/log/gdm/:0.log.2
-rw-------. 1 root root   31032 323 00:54 X.log

远程收集日志

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/440565.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter PC桌面端 控制应用尺寸是否允许放大缩小

一、需求 桌面端中,登录、注册、找回密码页面不允许用户手动放大缩小,主页面允许 二、插件 window_manager 使用教程请参照这篇博客:Flutter桌面端开发——window_manager插件的使用 题外话: 之前使用的是bitsdojo_window插件…

202303-第四周-山川软件产品资讯

山川软件愿为您提供最优质的服务。 您的每一个疑问都会被认真对待,您的每一个建议都将都会仔细思考。 我们希望人人都能分析大数据,人人都能搭建应用。 因此我们将不断完善DEMO、文档、以及视频,期望能在最大程度上快速帮助用户快速解决问…

3、Typescript中补充的六个类型

1、元组 元组可以看做是数组的拓展,它表示已知元素数量和类型的数组。确切地说,是已知数组中每一个位置上的元素的 类型,来看例子: let tuple: [string, number, boolean]; tuple ["a", 2, false]; tuple [2, "…

FPGA | 延迟模型

实际逻辑元器件和它们之间的传输路径都会存在延迟。因此,必须检查设计中的延迟是否满足实际电路的时序约束要求。可以用时序仿真的方法来检查时序(timing),即在仿真时向元件或路径中加入和实际相符的延迟信息,并进行相…

4.34、组播(多播)

4.34、多播 1.组播(多播)的介绍①组播地址②如何设置组播(组播的使用) 2.代码编写①服务端②客户端 1.组播(多播)的介绍 单播地址标识单个 IP 接口,广播地址标识某个子网的所有 IP 接口,多播地址标识一组 IP 接口。单播和广播是寻…

ThreadPoolExecutor原理剖析

1.前言 1.1 为什么要使用线程池? 线程池主要为了解决两个问题 一是当执行大量异步任务时,线程池能够提供较好的性能,避免了重复创建和销毁线程带来的开销二是线程池提供了一种资源限制和管理的手段,比如限制线程个数&#xff0…

【蓝桥杯】最难算法没有之一· 动态规划真的这么好理解?(引入)

欢迎回到:遇见蓝桥遇见你,不负代码不负卿! 目录 一、何为动态规划DP 二、记忆化搜索 典例1.斐波那契数列 方法一:暴力递归 方法二:记忆化搜索 变形题 典例2:爬楼梯(青蛙跳台阶&#xf…

海睿思分享 | 低而不LOW的低代码开发

低代码(Low-Code) 是指输出最少的代码,快速完成软件系统开发,进而实现降低开发成本的成效。 Low-Code 中的“Low”与网络热词“LOW”同音同字,前者通常理解为低成本或少量的代码输出,后者是对低认知已见问…

【数据结构】数据结构小试牛刀之单链表

【数据结构】数据结构小试牛刀之单链表 一、目标二、实现1、初始化工作2、单链表的尾插2.1、图解原理2.2、代码实现解答一个疑问 3、单链表的尾删3.1、图解原理3.2、代码实现 4、打印单链表5、单链表的头插5.1、图解原理5.2、代码实现 6、单链表的头删6.1、图解原理6.2、代码实…

【Linux系统】理解Linux中进程间通信

Linux进程间通信 1 进程间通信的介绍1.1为什么要有进程间通信1.2 为什么能进程间通信 2 进程间通信的框架2.1 进程间通信机制的结构2.2 进程间通信机制的类型2.2.1 共享内存式2.2.2 消息传递式 2.3 进程间通信的接口设计 3 进程间通信机制简介4 详细讲解进程间通信部分机制&…

【OAuth2.0 Client 总结】对接github第三方登录以及其他第三方登录总结

之前搞 oauth 登录一直没有搞好,客户端、授权服务端、资源端一起搞对于我刚接触的小菜鸡来说,难度有点大。 然后就先搞了个 Client 端对接 Github 登录。 网上关于 Github 登录的资料有很多,而且框架对 Github 集成的也很好,配置起…

【深入解析K8S专栏介绍】

序言 时间永远是旁观者,所有的过程和结果,都需要我们自己去承担。 Kubernetes (k8s) 是一个容器编排平台,允许在容器中运行应用程序和服务。 专栏介绍 欢迎订阅:【深入解析k8s】专栏 简单介绍一下这个专栏要做的事: 主…

8年测试老兵竟被面试官10分钟pass,这也太难了吧...

前言 随着软件测试领域对于技术要求越来越清晰,到现在测试人员在市场上的岗位需求也变得越来越复杂。极大部分的企业都开始对自动化测试岗位有了更多的需要。自然而然,面试就相对于非常重要了。 笔试部分 1.阐述软件生命周期都有哪些阶段?…

stm32cubemx IAP升级(二)

stm32cubemx IAP升级- App的制作 板卡:Nucleo-L412 平台:macbook pro 工具:vscode stm32cubemx stm32cubeProgramer cmake toolchain 整体思路 将App设置为从0x08007000地址启动,然后初始化一路串口用作接收上位机的升级数据&a…

docker容器:docker镜像的三种创建方法及dockerfile案例

目录 一、基于现有镜像创建 1、创建启动镜像 2、生成新镜像 二、基于本地模板创建 1、OPENVZ 下载模板 2、导入容器生成镜像 三、基于dockerfile创建 1、dockerfile结构及分层 2、联合文件系统 3、docker镜像加载原理 4、dockerfile操作常用的指令 (1)FROM指令 (…

kotlin协程flow retry retryWhen(2)

kotlin协程flow retry retryWhen&#xff08;2&#xff09; 一、retry import kotlinx.coroutines.flow.* import kotlinx.coroutines.runBlockingfun main(args: Array<String>) {runBlocking {(1..5).asFlow().onEach {if (it 3) {println("-")throw Runti…

入行IC选择国企、私企还是外企?(内附各IC大厂薪资福利情况)

不少人想要转行IC&#xff0c;但不知道该如何选择公司&#xff1f;下面就来为大家盘点一下IC大厂的薪资和工作情况&#xff0c;欢迎大家在评论区补充。 一&#xff0e;老 牌 巨 头 在 IC 设计领域深耕许久&#xff0c;流程完善、技术扎实&#xff0c;公司各项制度都很完善、前…

关于改造维护工单BAPI_ALM_ORDER_MAINTAIN用于生产订单组件批量修改

1、研究背景 1.1、业务背景 由于销售、研发、工艺等需要频繁变更&#xff0c;导致工单中组件需要频繁的进行变更&#xff0c;修改组件的物料&#xff0c;数量&#xff0c;库存地点&#xff0c;工序等内容。 1.2、技术痛点 为了满足要求&#xff0c;使用了函数&#xff1a;CO…

FVM链的Themis Pro(0x,f4) 5日IDO超百万美元,或让Filecoin逆风翻盘

交易一直是DeFi乃至web3领域最经久不衰的话题&#xff0c;也因此催生了众多优秀的去中心化协议&#xff0c;如Uniswap和Curve。这些协议逐渐成为了整个系统的基石。 在永续合约方面&#xff0c;DYDX的出现将WEB2时代的订单簿带回了web3。其链下交易的设计&#xff0c;仿佛回到了…

为你的软件测试全职业生涯规划保驾护航

目录 前言 1. 软件测试行业现状和未来趋势 2. 从初级测试工程师到高级测试架构师的职业路径 3. 如何提升自身技能和素质 4. 如何管理好自己的职业生涯 总结 前言 作为一名软件测试人员&#xff0c;职业生涯规划是非常重要的。在这篇文章中&#xff0c;我将从以下几个方面…