日志服务管理和inode号

一、系统日志管理

1.1系统日志的介绍

在现实生活中,记录日志也非常重要,比如银行的转账记录,飞机上的黑盒子,那么将系统和应用发生的事件记录至日志中,以助于排错和分析使用

日志记录的内容包括:

  • 历史事件:时间,地点,人物,事件

  • 日志级别:事件的关键性程度,Loglevel error notice info debug

1.2rsyslog 系统日志服务

rsyslog是CentOS 6以后版本的系统管理服务:它提供了高性能,出色的安全性和模块化设计。尽管rsyslog最初是常规的syslogd,但发展成为一种瑞士军刀式的记录工具,能够接受来自各种来源的输入,并将其转换,然后输出到不同的目的地。

rsyslog:管理日志

使用他的话,需要rsyslog软件和那个软件之间要支持

日志功能:

记录系统、程序运行中发生事情

1.3日志的种类

系统日志

/var/log/secure:放系统安全

/var/log/message:存放系统大部分文件

 用户登录日志

/var/log/btmp:查看用户登录失败的信息    用 lastb命令 看,因为btmp是二进制文件

/var/log/wtmp:查看哪些用户正常登录    用 last 命令查看

/var/log/lastlog:记录用户最后一次登录的信息    用 lastlog 命令查看

程序日志

和程序有关,有的有独立日志,有的没有

1.4journalctl:日志管理工具

CentOS 7 以后版,利用Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。

日志的配置文件

/etc/systemd/journald.conf

journalctl命令格式

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

选项说明:

--no-full, --full, -l
   如果字段内容超长则以省略号(...)截断以适应列宽。
   默认显示完整的字段内容(超长的部分换行显示或者被分页工具截断)。
   老旧的 -l/--full 选项 仅用于撤销已有的 --no-full 选项,除此之外没有其他用处。

-a, --all
   完整显示所有字段内容, 即使其中包含不可打印字符或者字段内容超长。


-f, --follow
   只显示最新的日志项,并且不断显示新生成的日志项。 此选项隐含了 -n 选项。

-e, --pager-end
   在分页工具内立即跳转到日志的尾部。 此选项隐含了 -n1000
   以确保分页工具不必缓存太多的日志行。 不过这个隐含的行数可以被明确设置的 -n
   选项覆盖。 注意,此选项仅可用于 less(1) 分页器。

 

-x, --catalog
   在日志的输出中增加一些解释性的短文本, 以帮助进一步说明日志的含义、
   问题的解决方案、支持论坛、 开发文档、以及其他任何内容。
   并非所有日志都有这些额外的帮助文本, 详见 Message Catalog Developer
   Documentation[5] 文档。
   注意,如果要将日志输出用于bug报告, 请不要使用此选项。

-n, --lines=
   限制显示最新的日志行数。 --pager-end 与 --follow 隐含了此选项。
   此选项的参数:若为正整数则表示最大行数; 若为 "all" 则表示不限制行数;
   若不设参数则表示默认值10行。


--no-tail
   显示所有日志行, 也就是用于撤销已有的 --lines= 选项(即使与 -f 连用)。


-r, --reverse
   反转日志行的输出顺序, 也就是最先显示最新的日志。


-o, --output=
   控制日志的输出格式。 可以使用如下选项:
   short
       这是默认值, 其输出格式与传统的 syslog[1] 文件的格式相似, 每条日志一行。
   short-iso
       与 short 类似,只是将时间戳字段以 ISO 8601 格式显示。
   short-precise
       与 short 类似,只是将时间戳字段的秒数精确到微秒级别。
   short-monotonic
       与 short 类似,只是将时间戳字段的零值从内核启动时开始计算。
   short-unix
       与 short 类似,只是将时间戳字段显示为从"UNIX时间原点"(1970-1-1 00:00:00
       UTC)以来的秒数。 精确到微秒级别。
   verbose
       以结构化的格式显示每条日志的所有字段。
    export
       将日志序列化为二进制字节流(大部分依然是文本) 以适用于备份与网络传输(详见
       Journal Export Format[2] 文档)。


   json
       将日志项按照JSON数据结构格式化, 每条日志一行(详见 Journal JSON Format[3]
       文档)。
   json-pretty
       将日志项按照JSON数据结构格式化, 但是每个字段一行, 以便于人类阅读。
   json-sse
       将日志项按照JSON数据结构格式化,每条日志一行,但是用大括号包围, 以适应
       Server-Sent Events[4] 的要求。
    cat
       仅显示日志的实际内容, 而不显示与此日志相关的任何元数据(包括时间戳)。

实例命令:

journalctl   -xe

 查看最后几个日志-----基本没什么用

journalctl -xe --no-pager

 

二、实验

1.实际操作,将ssh服务的日志单独设置

1.查看ssh服务的日志位置

tail -f /var/log/secure

2.添加自己文件位置

vim /etc/rsyslog.conf

3.修改ssh配置文件,32下一行添加自己的自定义

vim /etc/ssh/sshd_config

32 #SyslogFacility AUTHPRIV
33 SyslogFacility LOCAL6

 

4.重启服务

systemctl restart rsyslog.service sshd 

 

5.登录远程主机 172.16.18.4

ssh  172.16.18.4

6.具体查看一下日志文件

ls   /data/

cat   /data/sshd.log

7.开启远程登录ssh到主机;

ssh  172.16.18.4

单独调成文件

tail  -f  /data/sshd.log

 

2.远程日志功能

1.让两台主机,同步命令

2.关闭防火墙和核心防护

systemctl stop firewalld

setenforce 0

3.修改配置文件

vim /etc/rsyslog.conf

4.查看514端口是否开启;查看一下另一台主机是否开启,没有的话,按上操作开启一下

systemctl  restart rsyslog.service

ss -ntap |grep 514

5.主机1导给主机2,修改主机2的配置文件

6.重启;临时切换一下主机名

systemctl  restart rsyslog.service

hostname  test

su

7.概念说明

8.主机2中随便写入一条日志内容

logger "this is test log from 192.168.91.101 2"

9.最后,在主机1中查看一下,有没有刚刚主机2中的日志内容

三、inode号 

3.1介绍

在同一个设备上是唯一的

inode是有限资源,他的多少和磁盘大小有关

3.2访问文件流程:

根据文件夹中的文件名和inode号的关系,找到对应的inode表,再根据inode表中的指针,找到磁盘真实数据

3.3例题:

1.磁盘空间还剩余很多,但是无法继续建立文件?

原因是:inode号用完了

lvm:可以扩容

普通文件:删除没有用的空文件

2.我想看到几点几分到几点几分之间的日志

内存中

journalctl -S “2024-01-01 8:00” -U “2024 -02-02 8:00”

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

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

相关文章

springboot学生综合测评系统源码和论文

随着信息化时代的到来,管理系统都趋向于智能化、系统化,学生综合测评系统也不例外,但目前国内仍都使用人工管理,学校规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而…

scanf函数和printf函数

1.scanf函数 int scanf ( const char * format, ... );函数功能: 从键盘读取数据如果读取成功,返回读取到的数据个数如果读取失败,返回EOF 不常见的读取格式: %md -->读取m个宽度的数据 int main() {int n 0;scanf("%4d&…

Java里的实用类

1.枚举 语法: public enum 变量名{ 值一,值二} 某个变量的取值范围只能是有限个数的值时,就可以把这个变量定义成枚举类型。 2…装箱(boxing) 和拆箱(unboxing) 装箱(boxing&…

【c++】vector模拟

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c,Python等 > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:能手撕vector模拟 > 毒鸡汤:在等待…

MYSQL - SQL优化

插入数据优化 小批量数据 批量插入 最好插入500-1000条比较好 手动提交事务 主键顺序插入 大批量插入数据 主键优化 页分裂 页合并 主键优化设计原则 order by优化 group by优化 limit优化 count优化 count(1)里面不一定必须1,数字都可以 update优化 更新字…

OSPF基础

0x00 前言 本篇简述OSPF相关知识 0x01 正文 为什么需要动态路由协议 静态路由无法适应较大的网络无法动态的随着网络的变化而自动化,耗费人力 动态路由协议 什么是BGP协议 基于距离矢量算法修改后的算法形成协议,被称为路径矢量路由协议 BGP工作…

Spring MVC中JSON数据处理方式!!!

添加json依赖 <!--spring-json依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.0</version></dependency> 注解 RequestBody&#xff1a;作…

prometheus 监控 Hyperledger Fabric 网络

本例中使用的 fabric 版本为 2.4.1 修改 orderer , peer 节点 docker-compose 文件 orderer 节点&#xff1a; environment:- ORDERER_METRICS_PROVIDERprometheus- ORDERER_OPERATIONS_LISTENADDRESS0.0.0.0:8443 ports:- 8443:8443peer 节点&#xff1a; environment:- CO…

scVI与MultiVI

scVI&#xff1a;https://docs.scvi-tools.org/en/stable/user_guide/models/scvi.html MultiVI&#xff1a;https://docs.scvi-tools.org/en/stable/user_guide/models/multivi.html 目录 scVI生成推理任务 MultiVI生成推理 scVI single cell variational inference提出了一个…

elementui dialog 回车时却刷新整个页面

到处都是坑&#xff0c;这个坑填完另一个坑还在等你。。。坑坑相连&#xff0c;坑坑不同。。。 使用el-dialog弹出一个表单&#xff0c;当我无意间敲到回车键时&#xff0c;整个页面被刷新了&#xff0c;又是一脸的懵逼。。。 经过查找文档发现解决方案为上述截图标记。。。 e…

科锐16位汇编学习笔记 03 汇编指令

指令种类 数据传送指令算数运算类指令位操作类指令串操作类指令控制转移类指令处理器控制类指令 数据传送类指令 传送类指令不影响标志位&#xff0c;**除了标志位传送指令外。** 传送指令MOV&#xff08;move&#xff09; 说明 ​ 把一个字节或字的操作数从源地址传送至…

用golang 实现给图片添加文字水印

package mainimport ("fmt""github.com/golang/freetype""image""image/draw""image/jpeg""io""os""time" )func main() {// 打开原始图片file, err : os.Open("004.jpeg")if err …

解决Qt Creator中文乱码的问题

方法1 使用QStringLiteral()包裹中文字符串 QString str1"中文测试&#xff01;"; QString str2QStringLiteral("中文测试&#xff01;");方法2 #if _MSC_VER > 1600//MSVC2015>1899,MSVC_VER14.0 #pragma execution_character_set("utf-8&qu…

软文营销无效的原因,这些细节容易被忽略

不管你是卖产品还是做服务&#xff0c;不管是大公司还是小企业&#xff0c;都需要软文营销&#xff0c;然而营销也有好坏之分&#xff0c;好的营销会给客户带来更多企业和利润&#xff0c;无效营销不仅会耽误市场竞争的效率还会带来负面影响&#xff0c;今天媒介盒子就来和大家…

SpringMVC执行流程

SpringMVC执行流程 具体步骤 第一步&#xff1a;发起请求到前端控制器(DispatcherServlet) 第二步&#xff1a;前端控制器请求HandlerMapping查找 Handler 第三步&#xff1a;处理器映射器HandlerMapping向前端控制器返回Handler&#xff0c;HandlerMapping会把请求映射为Ha…

HTML---JQurey的基本使用

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 本章目标 &#xff08;1&#xff09;能够搭建jQuery开发环境 &#xff08;2&#xff09;使用ready( )方法加载页面、掌握jQuery语法 使用addClass( )方法和css( )方法为元素添加CSS样式使用n…

echarts设置tooltip的层级

echarts设置tooltip的层级 tooltip: {trigger: "axis",extraCssText: z-index:3, // 修改层级borderColor: "rgba(0, 170, 255)",}, 完整的option示例如下&#xff1a; option {tooltip: {trigger: "axis",extraCssText: z-index:3,axisPoin…

Python 架构模式:附录 A 到 E

附录 A&#xff1a;摘要图和表 原文&#xff1a;Appendix A: Summary Diagram and Table 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 这是我们在书的最后看到的架构&#xff1a; 表 A-1 总结了每个模式及其功能。 表 A-1. 我们的架构组件及其功能 层组件描述领域…

Linux 进程和计划任务管理

一 内核功用 进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等 1 程序 是一组计算机能识别和执行的指令&#xff0c;运行于电子计算机上&#xff0c;满足人们某种需求的信息化工具 用于描述进程要完成的功能&#xff0c;是控制进程执行的指令集 2 进程 运行…

1877_SHA512校验的使用

全部学习汇总&#xff1a; GreyZhang/toolbox: 常用的工具使用查询&#xff0c;非教程&#xff0c;仅作为自我参考&#xff01; (github.com) 之前下载很多软件&#xff0c;尤其是开源软件的文件包的时候通常会看到一个校验文件。之前下载的时候我一般都是直接忽略&#xff0c;…