Linux(21)——系统日志

目录

一、系统日志架构:

1、系统日志:

2、日志文件类型:

二、查看 syslog 文件:

1、将事件记录到系统:

(1)syslog 设备:

(2)syslog 优先级:

(3)配置文件:

2、日志文件轮转:

3、syslog 条目:

4、监控日志:

5、手动发送 syslog 消息:

三、查找系统日志条目:

1、 -n 选项:

2、-f 选项:

3、-p 选项:

4、-u 选项:

5、--since 选项:

6、-o 选项:

7、字段:

四、永久保存系统日志:

1、系统日志存储:

2、永久保存:

3、日志空间占用:

4、配置持久系统日志:


一、系统日志架构:

1、系统日志:

        操作系统内核和其他进程在系统运行时发生的事件记录为日志,日志用于系统审计以及故障排除,通常保存在 /var/log 目录中,可以使用 less 和 tail 命令进行查看。

        RHEL 日志基于 Syslog 协议标准记录系统消息,systemd-journald 和 rsyslog 服务处理syslog 日志。systemd-journald 是日志架构核心,默认将日志记录在内存中,记录几乎所有事件消息并存放到带索引的数据库中,包括内核、引导过程早期的输出,守护进程的标准输出、标准错误以及系统日志事件等。而 rsyslog 服务将从数据库中读取 systemd-journald 的日志,并按照配置文件的定义进行存放,同时 rsyslog 服务也可以根据日志优先级,将日志消息排序到特定的日志文件。

2、日志文件类型:

        日志文件     存储的消息类型
/var/log/messages大多数系统日志消息,包括与身份验证、电子邮件处理、调度作业以及与调试相关的消息
/var/log/secure安全性、身份验证相关的 syslog 消息
/var/log/maillog邮件服务器相关的 syslog 消息
/var/log/cron调度作业执行相关的 syslog 消息
/var/log/boot.log系统启动相关的syslog 控制台消息

二、查看 syslog 文件:

1、将事件记录到系统:

        很多程序都使用 syslog 协议将事件记录到系统,而每一日志消息又将根据设备以及优先级进行分类排序。

(1)syslog 设备:

代码设备设备描述
0kern内核消息
1user用户级消息
2mail邮件系统消息
3daemon系统守护进程消息
4auth身份验证和安全消息
5syslog内部 syslog 消息
6lpr打印机消息
7新闻网络新闻消息
8uucpUUCP 协议消息
9cron时钟守护进程消息
10authpriv非系统授权消息
11ftpFTP 协议消息
16-23local0 - local7自定义本地消息

(2)syslog 优先级:

代码优先级优先级描述
0emerg系统不可用(终端显示)
1alert必须立即采取措施
2crit临界情况
3err非严重错误情况
4warning警告情况
5notice正常但重要的事件
6info信息性事件
7debug调试级别消息

(3)配置文件:

1)/etc/rsyslog.conf全局配置文件。

2)/etc/rsyslog.d/*.conf个性化配置文件。

2、日志文件轮转:

        logrotate 命令将轮转日志文件,以防止 /var/log 的空间被占满。轮转日志文件时,重命名日志文件(原文件名添加时间戳)将创建一个日志文件并通知写入该日志文件的服务。

        轮转若干次后(默认为4次),将丢弃最旧的日志文件以释放磁盘空间。调度的作业每天都会计划运行 logrotate 程序,轮转频率依据配置文件定义。

3、syslog 条目:

        日志文件开头显示最旧的消息,在末尾显示最新的信息,信息记录采用标准格式如下:

(1)日志条目的时间戳

(2)发送信息的主机

(3)发送信息的程序名称和 PID 编号;

(4)具体信息。

4、监控日志:

        监控日志文件中的事件有助于重现问题,使用 tail -f /path/to/file 命令可输出指定文件的最后 10 行,并继续输出新近写入到该文件中的行

5、手动发送 syslog 消息:

        logger 命令可将消息发送到 rsyslog 服务。默认情况下,logger 命令将优先级为 notice 的消息发送给 user 类型的设备 ( user.notice ),否则则需要通过 -p 选项具体指定

三、查找系统日志条目:

        journalctl 命令突出显示重要的日志消息,优先级为 notice 或 warning 的消息显示为粗体,优先级为 error 或以上的消息显示为红色文本。

        journalctl 命令的常用选项如下:

1、 -n 选项:

       -n 选项指定显示最后10条日志,也可以指定条目数量。

2、-f 选项:

        -f 选项可刷新日志

3、-p 选项:

        -p 选项将显示指定优先级(按名称或编号)以及此优先级以上的日志条目。

4、-u 选项:

        -u 选项后加单元名称将显示指定 systemd unit 信息

5、--since 选项:

        --since 选项可指定日志时间段,除日期和时间字段外 ,还接受 yesterday 、today 以及 tomorrow 作为有效的参数。

        例如,显示计算机上过去十分钟内记录的所有日志事件如下:

        再例如,显示计算机上从今天上午 09:00:00 起记录的所有 sshd 日志事件如下:

6、-o 选项:

        -o verbose显示更加详细日志信息

7、字段:

        journalctl 配合字段使用,可以搜索特定内容的日志

(1)_PID 即进程的 PID 。

(2)_UID 即运行此进程的用户 UID 。

(3)_COMM 即命令的名称;

(4)_EXE 即进程的可执行文件的路径;

(5)_SYSTEMD_UNIT 即启动该进程的 systemd 单元。

四、永久保存系统日志:

1、系统日志存储:

        默认情况下,system journal 保存在内存 /run/log/journal 目录中,系统重启时会被清除

2、永久保存:

        修改 /etc/systemd/journald.conf Storage 参数可以设置日志永久保存,常见参数如下:

(1)persistent :永久保存在 /var/log/journal 目录中;

(2)voltile :临时保存在 /run/log/journal 目录中;

(3)auto(默认):如果有 /var/log/journal 目录存在,则永久保存, 反之则临时保存;

(4)none :不使用任何存储,系统将丢弃所有日志(但用户依然可以转发日志)。

3、日志空间占用:

        日志大小受到轮转机制限制,在默认情况下,日志的大小不能超过所处文件系统的 10%,也不能造成文件系统的可用空间低于15%,此值可以在 /etc/systemd/journald.conf 进行设置

        查看日志空间占用情况如下:

注:修改完配置文件,需要重启 systmed-journald 服务。

4、配置持久系统日志:

        以将计算机上的 systemd-journald 服务配置成在系统重启后保留日志为例:

        在 /etc/systemd/journald.conf 文件中,取消 Storage=auto 行的注释,并将 Storage 的参数值设置为 persistent

        重启 systemd-journald 服务,应用配置更改。

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

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

相关文章

学习数据结构(6)单链表OJ上

1.移除链表元素 解法一:(我的做法)在遍历的同时移除,代码写法比较复杂 解法二:创建新的链表,遍历原链表,将非val的节点尾插到新链表,注意,如果原链表结尾是val节点需要将…

第433场周赛:变长子数组求和、最多 K 个元素的子序列的最值之和、粉刷房子 Ⅳ、最多 K 个元素的子数组的最值之和

Q1、变长子数组求和 1、题目描述 给你一个长度为 n 的整数数组 nums 。对于 每个 下标 i&#xff08;0 < i < n&#xff09;&#xff0c;定义对应的子数组 nums[start ... i]&#xff08;start max(0, i - nums[i])&#xff09;。 返回为数组中每个下标定义的子数组中…

CSS 伪类(Pseudo-classes)的详细介绍

CSS 伪类详解与示例 在日常的前端开发中&#xff0c;CSS 伪类可以帮助我们非常精准地选择元素或其特定状态&#xff0c;从而达到丰富页面表现的目的。本文将详细介绍以下伪类的使用&#xff1a; 表单相关伪类 :checked、:disabled、:enabled、:in-range、:invalid、:optional、…

Centos挂载镜像制作本地yum源,并补装图形界面

内网环境centos7.9安装图形页面内网环境制作本地yum源 上传镜像到服务器目录 创建目录并挂载镜像 #创建目录 cd /mnt/ mkdir iso#挂载 mount -o loop ./CentOS-7-x86_64-DVD-2009.iso ./iso #前面镜像所在目录&#xff0c;后面所挂载得目录#检查 [rootlocalhost mnt]# df -h…

大模型推理——MLA实现方案

1.整体流程 先上一张图来整体理解下MLA的计算过程 2.实现代码 import math import torch import torch.nn as nn# rms归一化 class RMSNorm(nn.Module):""""""def __init__(self, hidden_size, eps1e-6):super().__init__()self.weight nn.Pa…

Python截图轻量化工具

一、兼容局限性 这是用Python做的截图工具&#xff0c;不过由于使用了ctypes调用了Windows的API, 同时访问了Windows中"C:/Windows/Cursors/"中的.cur光标样式文件, 这个工具只适用于Windows环境&#xff1b; 如果要提升其跨平台性的话&#xff0c;需要考虑替换cty…

链表(LinkedList) 1

上期内容我们讲述了顺序表&#xff0c;知道了顺序表的底层是一段连续的空间进行存储(数组)&#xff0c;在插入元素或者删除元素需要将顺序表中的元素整体移动&#xff0c;时间复杂度是O(n)&#xff0c;效率比较低。因此&#xff0c;在Java的集合结构中又引入了链表来解决这一问…

SpringAI系列 - 使用LangGPT编写高质量的Prompt

目录 一、LangGPT —— 人人都可编写高质量 Prompt二、快速上手2.1 诗人 三、Role 模板3.1 Role 模板3.2 Role 模板使用步骤3.3 更多例子 四、高级用法4.1 变量4.2 命令4.3 Reminder4.4 条件语句4.5 Json or Yaml 方便程序开发 一、LangGPT —— 人人都可编写高质量 Prompt La…

jupyterLab插件开发

jupyter lab安装、配置&#xff1a; jupyter lab安装、配置教程_容器里装jupyterlab-CSDN博客 『Linux笔记』服务器搭建神器JupyterLab_linux_布衣小张-腾讯云开发者社区 Jupyter Lab | 安装、配置、插件推荐、多用户使用教程-腾讯云开发者社区-腾讯云 jupyterLab插件开发教…

使用LLaMA Factory踩坑记录

前置条件&#xff1a;电脑显卡RTX 4080 问题&#xff1a;LLaMA-Factory在运行的时候&#xff0c;弹出未检测到CUDA的报错信息 结论&#xff1a;出现了以上的报错&#xff0c;主要可以归结于以下两个方面&#xff1a; 1、没有安装GPU版本的pytorch&#xff0c;下载的是CPU版本…

『Apisix进阶篇』结合Consul作服务发现实战演练

文章目录 一、引言二、APISIX与Consul集成2.1 环境准备2.2 配置Consul服务发现2.2.1 修改APISIX配置文件2.2.2 重启APISIX 2.3 在路由中使用Consul服务发现2.3.1 创建路由2.3.2 验证路由 2.4 高级配置2.4.1 服务过滤2.4.2 多数据中心支持 三、总结 &#x1f4e3;读完这篇文章里…

SpringBoot速成(八)登录实战:未登录不能访问 P5-P8

1.登录 package com.itheima.springbootconfigfile.controller;import com.itheima.springbootconfigfile.pojo.Result; import com.itheima.springbootconfigfile.pojo.User; import com.itheima.springbootconfigfile.service.UserService;import com.itheima.springbootco…

对接DeepSeek

其实&#xff0c;整个对接过程很简单&#xff0c;就四步&#xff0c;获取key&#xff0c;找到接口文档&#xff0c;接口测试&#xff0c;代码对接。 获取 KEY https://platform.deepseek.com/transactions 直接付款就是了&#xff08;现在官网暂停充值2025年2月7日&#xff0…

ASP.NET Core JWT

目录 Session的缺点 JWT&#xff08;Json Web Token&#xff09; 优点&#xff1a; 登录流程 JWT的基本使用 生成JWT 解码JWT 用JwtSecurityTokenHandler对JWT解码 注意 Session的缺点 对于分布式集群环境&#xff0c;Session数据保存在服务器内存中就不合适了&#…

【MySQL】深度学习数据库开发技术:使用CC++语言访问数据库

**前言&#xff1a;**本节内容介绍使用C/C访问数据库&#xff0c; 包括对数据库的增删查改操作。 主要是学习一些接口的调用&#xff0c; 废话不多说&#xff0c; 开始我们的学习吧&#xff01; ps:本节内容比较容易&#xff0c; 友友们放心观看哦&#xff01; 目录 准备mysql…

postgreSQL16.6源码安装

1.获取源码 从PostgreSQL: File Browser获取tar.bz2或者tar.gz源码 2.解压 tar xf postgresql-version.tar.bz2 roothwz-VMware-Virtual-Platform:/usr/local# tar xf postgresql-16.6.tar.bz2 roothwz-VMware-Virtual-Platform:/usr/local# ll 总计 24324 drwxr-xr-x 12 ro…

音频进阶学习十一——离散傅里叶级数DFS

文章目录 前言一、傅里叶级数1.定义2.周期信号序列3.表达式DFSIDFS参数含义 4.DFS公式解析1&#xff09;右边解析 T T T、 f f f、 ω \omega ω的关系求和公式N的释义求和公式K的释义 e j ( − 2 π k n N ) e^{j(\frac{-2\pi kn}{N})} ej(N−2πkn​)的释义 ∑ n 0 N − 1 e…

【kafka系列】Topic 与 Partition

Kafka 的 Topic&#xff08;主题&#xff09; 和 Partition&#xff08;分区&#xff09; 是数据组织的核心概念&#xff0c;它们的映射关系及在 Broker 上的分布直接影响 Kafka 的性能、扩展性和容错能力。以下是详细解析&#xff1a; 一、Topic 与 Partition 的映射关系 Top…

卷积神经网络CNN如何处理语音信号

卷积神经网络&#xff08;CNN&#xff09;在处理语音数据时通常不直接处理原始的一维波形信号&#xff0c;而是处理经过预处理的二维语音特征图。以下是CNN处理语音数据时的常见数据类型和步骤&#xff1a; 1. 语音信号预处理 语音信号通常是一维的时间序列&#xff08;波形信…

【MQ】Spring3 中 RabbitMQ 的使用与常见场景

一、初识 MQ 传统的单体架构&#xff0c;分布式架构的同步调用里&#xff0c;无论是方法调用&#xff0c;还是 OpenFeign 难免会有以下问题&#xff1a; 扩展性差&#xff08;高耦合&#xff0c;需要依赖对应的服务&#xff0c;同样的事件&#xff0c;不断有新需求&#xff0…