【Linux】日志分析与管理

作为一个运维,如果不会看日志,就好比是冬天刚刚用热水泡完了脚,接着就立马让人把水喝掉。

目录

一、Inode介绍

1.1 什么是inode

1.2 inode表内容

1.3 查看inode号的方式

二、日志分析

 2.1 日志的用途

2.2 日志的分类

2.3 日志级别

2.4 关于用户登陆的日志

三、日志管理

3.1 日志的配置文件

3.2 一些常见用户日志

 3.3 rsyslog配置文件

3.4  如何为程序设置专属的独立日志

3.5 远程日志

3.6日志管理工具——journalctl


一、Inode介绍

1.1 什么是inode

  • inode号通常用于Linux系统的存储文件和目录元数据信息的数据结构
  • 每个文件和目录在文件系统中都有对应的inode,inode中存储了文件的各种元信息,如文件类型、所有者、权限、大小、创建时间、修改时间等信息,以及指向文件数据块的指针
  • 删除文件时,若该文件有多个指向它的inode,则不会释放空间,需要删除所有指向它的inode才会释放存储空间

1.2 inode表内容

每一个inode表记录对应的保存了以下信息:

  • inode number 节点号

  • 文件类型

  • 权限

  • UID

  • GID

  • 链接数(指向这个文件名路径名称个数)

  • 该文件的大小和不同的时间戳

  • 指向磁盘上文件的数据块指针

  • 有关文件的其他数据

1.3 查看inode号的方式

ls -i 文件名stat 文件名df -i     #用于查看文件系统的inode号

 注意!!!

  1. inode号在同一设备中是唯一的,但是在不同分区或不同硬盘中可以有相同inode号
     
  2. 达到inode数量上限时,文件系统将无法创建新的文件或目录,无论是否还有空间。

                                                                                                                                                       

二、日志分析

 2.1 日志的用途

  • 记录系统或程序在系统中的运行事件
  • 通过查看日志可以帮助排查系统故障

2.2 日志的分类

  • 系统日志:操作系统运行中发生的事件和故障
  • 应用日志:某一程序运行中发生的事件和故障

2.3 日志级别

事件的关键程度:

级别消息级别说明
0EMERG紧急会导致主机系统不可用
1ALERT警告必须马上采取措施解决问题
2CRIT严重比较严重的情况
3ERROR错误运行出现错误
4WARNING提醒可能影响系统功能,需要提醒用户的重要事件
5NOTICE注意不会影响正常功能,但是需要注意的事件
6INFO信息一般信息
7DEBUG调试程序或系统调试信息等

2.4 关于用户登陆的日志

日志作用命令
btmp查看登录失败的用户lastb
lastlog查看用户最后一次登录情况lastlog
wtmp用户成功登录的日志last

last 命令用于查询成功登录到系统的用户记录

lastb 命令用于查询登录失败的用户记录

lastlog用于查看用户最后一次登录情况

三、日志管理

3.1 日志的配置文件

Linux操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下

内核及系统日志由系统服务rsyslog统一管理,根据其主配置文件/etc/rsyslog.conf

3.2 一些常见用户日志

/var/log/lastlog记录系统中所有用户最后一次的登录时间的曰志。这个文件也是二进制文件.不能直接用Vi 查看。而要使用lastlog命令查看
/var/log/secure记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/wtmp永久记录所有用户的登陆、注销信息,同时记录系统的启动、重启、关机事件。同样,这个文件也是二进制文件.不能直接用Vi查看,而要使用last命令查看
/var/log/btmp记录当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看

 3.3 rsyslog配置文件

/etc/rsyslog.conf 配置文件格式:由三部分组成

  • MODULES:相关模块配置

  • GLOBAL DIRECTIVES:全局配置

  • RULES:日志记录相关的规则配置

RULES配置格式:

通式:

服务程序.记录的日志级别       日志文件的位置(绝对路径)

facility.priority; 
#分类     日志的级别


*: 所有级别
none:没有级别,即不记录
PRIORITY:指定级别(含)以上的所有级别
=PRIORITY:仅记录指定级别的日志信息

文件路径:通常在/var/log/,文件路径前的 ‘ - ’ 表示异步写入   

异步:记录一段日志后统一存入磁盘

同步:内存中磁盘上有一条就记录一条


用户:将日志事件通知给指定的用户,* 表示登录的所有用户
日志服务器:@host把日志送往至指定的远程UDP日志服务器

                      @@host 将日志发送到远程TCP日志服务器
管道: | COMMAND,转发给其它命令处理

3.4  如何为程序设置专属的独立日志

举例:

ssh服务的日志默认放在/var/log/secure下,不利于我们观察,现在将其日志独立出来

操作目的:利用rsyslog软件给ssh生成独立的日志文件


1. 修改ssh的配置文件


2. 修改rsyslog的配置文件

系统提供了local0 ~ local6 供用户自定义使用


3. 重新启动rsyslog和ssh服务后,使用ssh服务,查看日志文件


配置成功!

3.5 远程日志

 操作用途:用于管理10-20台服务器

 操作目的:将日志传输到远程服务器

注意:本实验之前请关闭两台主机的防火墙


1. 配置两台主机的/etc/rsyslog.conf文件,打开tcp端口协议

第一台:

第二台:


2. 查看514端口是否打开

第一台:

第二台:


3. 配置/etc/rsyslog.conf文件,配置接收日志的主机IP


4. 测试

第一台:

第二台:


成功

3.6日志管理工具——journalctl

CentOS 7 以后版,利用Systemd 统一管理所有 Unit 的启动日志。

带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。

1. 配置文件

/etc/systemd/journald.conf

2. 命令格式

journalctl [OPTIONS...] [MATCHES...]

查看日志的重要命令:

#显示最近的提示信息
 journalctl -xe
 systemctl status   软件名

#日志默认分页输出,--no-pager 改为正常的标准输出
 journalctl --no-pager

#查看所有日志(默认情况下 ,只保存本次启动的日志)journalctl#查看内核日志(不显示应用日志)journalctl -k#查看系统本次启动的日志    实战案例!!!journalctl -bjournalctl -b -0
#查看上一次启动的日志(需更改设置)journalctl -b -1#查看指定时间的日志   -S=since    -U=unitjournalctl --since="2023-10-30 18:10:30"journalctl --since "20 min ago"journalctl --since yesterdayjournalctl -S "2024-03-31 2:00" -U "2024-04-22 03:00"journalctl --since 09:00 --until "1 hour ago"#实时滚动显示最新日志journalctl -f

3.7 logrotate——日志转储、分割

3.7.1 相关文件

  • 计划任务:/etc/cron.daily/logrotate
  • 配置文件:/etc/logrotate.conf
  • 日志文件:/var/lib/logrotate/logrotate.status

配置文件/etc/logrotate.conf主要参数:

vim /etc/logrotate.conf# see "man logrotate" for details
# rotate log files weekly
weekly 
#一周生成一个新的日志文件# keep 4 weeks worth of backlogs
rotate 4
#只保留最近的4个文件# use date as a suffix of the rotated file
dateext
# 添加一个日期后缀

程序还可以设置独立的配置文件在/etc/logrotate.d/下

3.7.2 配置参数及用例

配置参数说明
compress通过gzip压缩转储以后的日志
nocompress不压缩
copytruncate用于还在打开中的日志文件,把当前日志备份并截断
nocopytruncate备份日志文件但是不截断
create mode ownergroup转储文件,使用指定的权限,所有者,所属组创建新的日志文件
nocreate不建立新的日志文件
delaycompress和 compress 一起使用时,转储的日志文件到下一次转储时才压缩
nodelaycompress覆盖 delaycompress 选项,转储同时压缩
errors address专储时的错误信息发送到指定的Email地址
ifempty即使是空文件也转储,此为默认选项
notifempty如果是空文件的话,不转储
mail address把转储的日志文件发送到指定的E-mail 地址
nomail转储时不发送日志文件
olddir directory转储后的日志文件放入指定目录,必须和当前日志文件在同一个文件系统
noolddir转储后的日志文件和当前日志文件放在同一个目录下
prerotate/endscript在转储以前需要执行的命令,这两个关键字必须单独成行
postrotate/endscript在转储以后需要执行的命令,这两个关键字必须单独成行
daily指定转储周期为每天
weekly指定转储周期为每周
monthly指定转储周期为每月
rotate count指定日志文件删除之前转储的次数,0指没有备份,5指保留5个备份
tabooext [+] list让logrotate*不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig,.rpmsave, v, 和~
size size当日志文件到达指定的大小时才转储bytes(缺省)及KB或MB
sharedscripts默认,对每个转储日志运行prerotate和postrotate脚本,日志文件的绝对路径作为第一个参数传递给脚本。 这意味着单个脚本可以针对与多个文件匹配的日志文件条目多次运行(例如/ var / log / news /.example)。 如果指定此项sharedscripts,则无论有多少个日志*与通配符模式匹配,脚本都只会运行一次
nosharedscripts针对每一个转储的日志文件,都执行一次prerotate和 postrotate脚本,此为默认值
missingok如果日志不存在,不提示错误,继续处理下一个
nomissingok如果日志不存在,提示错误,此为默认值

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

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

相关文章

MATLAB基于图像特征的火灾检测

实验目标 基于图像特征的火灾检测 实验环境 Windows电脑、MATLAB R2020a 实验内容 1.读取图像,彩色图像的灰度化处理,进行边缘检测,实现对火焰的检测。 2.对两幅RGB图像进行火焰特征提取实验 3.对比分析边缘检测算法处理结果和基于图像…

比赛记录:Codeforces Round 940 (Div. 2) and CodeCraft-23 A~E

传送门:CF [前题提要]:感觉这场题目其实都很经典.遗憾的是赛时C题答案统计看成了不同的下棋的方案数,然后以为刚开始不能放不是一种答案(直接特判输出了0),卡了一场比赛.幸好最后15min险过CD,不然掉大分了 A. Stickogon 难点在于读懂题意. 读懂题意之后不难发现每根木棒都形成…

Git--原理与使用

目录 一、课程目标二、初始Git三、安装Git3.1 Linux-centos 四、Git的基本操作4.1 创建Git本地仓库 五、配置Git六、认识工作区、暂存区、版本库七、添加文件八、查看.git九、修改文件十、版本回退十一、撤销修改11.1 情况一:对于工作区的代码,还有add11…

阿斯达年代记三强争霸加速器用什么好 超好用的免费加速器

阿斯达年代记:三强争霸的核心玩法围绕着阿斯达大陆上的权力斗争,玩家将投身于三大势力——阿斯达联邦、亚高同盟及边缘叛军之间错综复杂的竞争之中。每个阵营都有其独特的背景故事、目标和战略,玩家的选择不仅影响个人的游戏进程,…

【IC设计】奇数分频与偶数分频 电路设计(含讲解、RTL代码、Testbench代码)

文章目录 原理分析实现和仿真偶数分频的电路RTL代码偶数分频的电路Testbench代码偶数分频的电路仿真波形占空比为50%的三分频电路RTL代码占空比为50%的三分频电路Testbench代码占空比为50%的三分频电路仿真波形 参考资料 原理分析 分频电路是将给定clk时钟信号频率降低为div_c…

【STM32+HAL+Proteus】系列学习教程---串口USART(DMA 方式)定长,不定长收发。

实现目标 1、利用UART实现上位机PC与下位机开发板之间的数据通信 2、学会STM32CubeMX软件关于UART的DMA模式配置 3、具体目标:1、实现串口定长收发数据通信;2、串口不定长收发数据通信。 一、DMA简介 1、什么是DMA? DMA(Direct Memory …

多级嵌套对象数组:根据最里层id找出它所属的每层父级,适用于树形数据格式

文章目录 需求分析 需求 已知一个树形格式数据如下: // 示例数据 const data [{"id": "1","parentId": null,"children": [{"id": "1.1","parentId": "1","children"…

2024土木工程、城市规划与交通运输国际会议(ICCEUPT2024)

2024土木工程、城市规划与交通运输国际会议(ICCEUPT2024) 会议简介 我们诚挚邀请您参加2024年国际土木工程、城市规划和交通会议(ICCEUPT2024)。本次大会将在北京隆重举行,旨在搭建交流合作平台,汇聚行业精英,共同…

uniapp开发微信小程序图片太大处理

一、图片太大 压缩图片如果使用的蓝湖可以使用压缩(看你小程序使用的图片是否有清晰度要求) 没有使用蓝湖的可以使用压缩图片:在线缩小图片大小(免费)该链接压缩压缩后如果还是大的话查看图片的尺寸是否太大&am…

社科大与美国杜兰大学金融管理硕士——成为自己的光,独立又明亮

随着全球化的发展,金融管理成为了全球范围内备受瞩目的领域。无论是企业还是国家,都需要专业的金融管理人才来推动经济发展。在这样的背景下,社科大与美国杜兰大学联合推出的金融管理硕士项目备受关注。你想知道金融管理硕士项目的意义和价值…

求臻医学MRD产品斩获2023年度肿瘤标志物年度十大创新技术产品奖

2024年4月20日,中国肿瘤标志物学术大会开幕式暨名家讲坛在南京隆重召开! 会议期间,中国抗癌协会肿瘤标志专业委员会联合中国抗癌协会肿瘤临床检验与伴随诊断专业委员会、中国抗癌协会肿瘤基因诊断专业委员等共同发布“2023 年度肿瘤标志物创新技术产品”…

gps路径压缩算法

公司的gps点位特别多,导致数据存储以及查询都会造成一定的压力. 所以我们需要使用gps路径压缩算法 我调研了两种: k-means 和 Douglas-Peucker k-means 压缩的底层原理是: 自定义簇的数量,假设是100个,那么就会计算所有gps点,把最相近的点,放在一个簇里,以此类推,计算出100个…

适合普通人的黄金投资品种有哪些?

黄金一直以来都是投资者眼中的避险资产,无论是经济波动还是通货膨胀,它总能保持其独特的价值。对于普通人而言,投资黄金似乎是一件遥不可及的事情,但其实只要选对品种,普通投资者也可以轻松参与其中。在当前市场上&…

初学python记录:力扣2385. 感染二叉树需要的总时间

题目: 给你一棵二叉树的根节点 root ,二叉树中节点的值 互不相同 。另给你一个整数 start 。在第 0 分钟,感染 将会从值为 start 的节点开始爆发。 每分钟,如果节点满足以下全部条件,就会被感染: 节点此…

[GXYCTF2019]BabyUpload-BUUTF

题&#xff1a; 步骤&#xff08;先上传木马&#xff0c;在上传.htaccess&#xff09; 准备工作 他过滤了<? ,ph等 准备&#xff1a;一句话木马&#xff0c;.htaccess文件 .htaccess SetHandler application/x-httpd-php //解析为php文件 muma1.jpg<script languag…

【文件IO】 文件系统的操作 | 文件类型 | File的构造和方法 | 字节流 | 字符流 | InputStream | OutStream

文章目录 [toc] 文件IO一、文件的概念文件系统文件路径&#xff1a;文件类型 二、文件操作1.文件系统的操作&#xff1a;File的构造和方法创建文件删除文件等线程结束后删除文件列出目录内容创建目录重命名 2.文件内容的操作&#xff1a;1.字节流&#xff1a;对应二进制文件Inp…

数睿通2.0版本升级:探索数据血缘的奥秘

引言 数睿通 2.0 迎来了 4 月份的更新&#xff0c;该版本更新了许多用户期望的数据血缘模块&#xff0c;把原来外链跳转 neo4j 页面改为自研页面&#xff0c;方便后期的二次开发完善&#xff0c;此外&#xff0c;新版本摒弃了 neo4j 的血缘数据存储方案&#xff0c;一来是因为…

哪些软件可以监控电脑屏幕?值得推荐的六款电脑屏幕监控软件

在当今科技日新月异的时代&#xff0c;电脑屏幕监控软件逐渐成为了企业和个人用户必备的工具。 这些软件可以帮助我们实时监控电脑屏幕&#xff0c;保护数据安全&#xff0c;提高工作效率。 以下是一些值得推荐的电脑屏幕监控软件及其功能和优点&#xff1a; 1&#xff0c;域智…

开源贡献代码之​探索一下Cython

探索一下Cython 本篇文章将会围绕最近给Apache提的一个feature为背景&#xff0c;展开讲讲Cython遇到的问题&#xff0c;以及尝试自己从0写一个库出来&#xff0c;代码也已经放星球了&#xff0c;感兴趣的同学可以去下载学习。 0.背景 最近在给apache arrow提的一个feature因为…

以生命健康为中心的物联网旅居养老运营平台

随着科技的飞速发展和人口老龄化的日益加剧&#xff0c;养老问题逐渐成为社会关注的焦点。传统的养老模式已经难以满足现代老年人的多元化需求&#xff0c;因此&#xff0c;构建一个以生命健康为中心的物联网旅居养老运营平台显得尤为重要。 以生命健康为中心的物联网旅居养老运…