当前位置: 首页 > news >正文

重生之我要当云原生大师(十四)分析和存储日志

目录

一、简述常用的日志文件所存储的消息类型。

二、syslog的优先级?

三、维护准确时间的意义?


一、简述常用的日志文件所存储的消息类型。

1. 系统日志文件

/var/log/messages

  • 消息类型:通用的系统日志文件,记录系统启动、服务启动、内核消息、硬件事件等。
  • 用途:用于查看系统级别的消息和错误。

/var/log/syslog

  • 消息类型:记录系统级别的日志信息,包括内核、服务、应用程序的消息。
  • 用途:在部分 Linux 发行版中替代 /var/log/messages。

2. 认证与安全日志

/var/log/secure

  • 消息类型:记录与系统安全相关的日志,如用户登录、认证、sudo 使用、SSH 登录等。
  • 用途:用于监控用户登录行为和排查安全问题。

/var/log/auth.log

  • 消息类型:与 /var/log/secure 类似,记录认证和授权相关的日志。
  • 用途:在部分 Linux 发行版中使用。

3. 启动日志

/var/log/boot.log

  • 消息类型:记录系统启动过程中的消息,包括服务启动、硬件初始化等。
  • 用途:用于排查系统启动问题。

/var/log/dmesg

  • 消息类型:记录内核环缓冲区中的消息,包括硬件检测、设备驱动加载等。
  • 用途:用于查看硬件相关的日志。

4. 计划任务日志

/var/log/cron

  • 消息类型:记录 cron 和 at 任务的执行情况,包括任务启动、成功或失败的信息。
  • 用途:用于监控计划任务的执行情况。

5. 邮件日志

/var/log/maillog

  • 消息类型:记录邮件服务器(如 Postfix、Sendmail)的日志,包括邮件发送、接收、错误等。
  • 用途:用于排查邮件服务问题。

6. 软件包管理日志

/var/log/yum.log

  • 消息类型:记录 yum 或 dnf 包管理器的操作日志,包括软件包安装、更新、删除等。
  • 用途:用于查看软件包管理操作的历史记录。

7. Web 服务器日志

/var/log/httpd/access_log

  • 消息类型:记录 Apache HTTP 服务器的访问日志,包括客户端请求、响应状态码等。
  • 用途:用于分析网站访问情况。

/var/log/httpd/error_log

  • 消息类型:记录 Apache HTTP 服务器的错误日志,包括服务器错误、配置问题等。
  • 用途:用于排查 Web 服务器问题。

8. 数据库日志

/var/log/mysql.log

  • 消息类型:记录 MySQL 数据库的日志,包括查询、错误、连接等。
  • 用途:用于监控和排查数据库问题。

/var/log/postgresql.log

  • 消息类型:记录 PostgreSQL 数据库的日志,包括查询、错误、连接等。
  • 用途:用于监控和排查数据库问题。

9. X Window 系统日志

/var/log/Xorg.0.log

  • 消息类型:记录 X Window 系统的日志,包括图形界面启动、硬件驱动加载等。
  • 用途:用于排查图形界面问题。

10. 应用程序日志

/var/log/{application_name}

  • 消息类型:某些应用程序会将自己的日志文件存储在 /var/log/ 目录下,例如 /var/log/nginx/(Nginx 日志)。
  • 用途:用于查看特定应用程序的日志。

11. 系统审计日志

/var/log/audit/audit.log

  • 消息类型:记录系统审计日志,包括文件访问、用户操作、权限变更等。

用途:用于安全审计和监控。

二、syslog的优先级?

优先级的组成:

优先级是一个 8 位的数字,范围从 0 到 191。它的计算公式为:

优先级 = 设施代码 * 8 + 严重性代码

  • 设施代码:表示日志消息的来源或类别
  • 严重性代码:表示日志消息的严重程度。

1. 设施(Facility):

设施代码表示日志消息的来源或类别。常见的设施代码包括:

设施代码

设施名称

说明

0

kern

内核消息

1

user

用户级别的消息

2

mail

邮件系统消息

3

daemon

系统守护进程消息

4

auth

安全/认证消息

5

syslog

syslogd 内部生成的消息

6

lpr

打印系统消息

7

news

新闻系统消息

8

uucp

UUCP 系统消息

9

cron

计划任务(cron/at)消息

10

authpriv

私有认证消息

11

ftp

FTP 守护进程消息

16

local0

本地使用 0

17

local1

本地使用 1

...

...

...

23

local7

本地使用 7


2. 严重性(Severity):

严重性代码表示日志消息的严重程度。常见的严重性代码包括:

严重性代码

严重性名称

说明

0

emerg

紧急情况,系统不可用

1

alert

需要立即采取行动

2

crit

严重错误

3

err

一般错误

4

warning

警告信息

5

notice

正常但重要的事件

6

info

一般信息

7

debug

调试信息


优先级的示例:

  • 如果一条日志消息的设施是 auth(代码 4),严重性是 err(代码 3),则优先级为:

优先级 = 4 * 8 + 3 = 35

  • 如果一条日志消息的设施是 cron(代码 9),严重性是 info(代码 6),则优先级为:

优先级 = 9 * 8 + 6 = 78

三、维护准确时间的意义?

1. 系统日志的准确性

  • 意义:系统日志是排查问题和监控系统状态的重要工具。如果时间不准确,日志中的时间戳将失去意义,难以追踪事件发生的顺序。
  • 示例:在多台服务器上排查分布式系统的故障时,需要根据日志的时间戳分析事件的因果关系。

2. 文件同步与一致性

  • 意义:文件系统、备份工具和同步工具(如 rsync)依赖文件的时间戳来判断文件是否被修改。如果时间不准确,可能导致文件同步错误或数据丢失。
  • 示例:在备份操作中,时间戳不准确可能导致备份工具无法正确识别需要备份的文件。

3. 计划任务的执行

  • 意义cron 和 at 等计划任务工具依赖系统时间来触发任务。如果时间不准确,任务可能在不正确的时间执行,甚至完全错过执行时间。
  • 示例:定时备份脚本可能因为时间不准确而未能按时执行,导致数据丢失。

4. 网络安全与认证

  • 意义:许多安全协议(如 Kerberos、TLS/SSL)和认证机制(如 OTP)依赖准确的时间来验证证书的有效性和防止重放攻击。
  • 示例
    • 如果系统时间与证书颁发机构(CA)的时间不同步,可能导致 SSL/TLS 连接失败。
    • Kerberos 认证要求客户端和服务端的时间差在允许范围内(通常为 5 分钟)。

5. 分布式系统的协调

  • 意义:在分布式系统中,多个节点需要协调一致的时间来确保数据一致性、事务顺序和事件排序。
  • 示例
    • 数据库复制和分布式事务依赖时间戳来保证数据的一致性。
    • 分布式锁服务(如 ZooKeeper)需要准确的时间来管理锁的租约。

6. 调试与性能分析

  • 意义:在调试和性能分析中,时间戳是分析事件顺序和性能瓶颈的重要依据。如果时间不准确,可能导致错误的结论。
  • 示例:在分析应用程序的性能问题时,时间戳不准确可能导致无法正确识别性能瓶颈。

7. 合规性与审计

  • 意义:许多行业和法规(如 GDPR、HIPAA)要求系统记录准确的时间戳以满足合规性和审计要求。
  • 示例:在金融交易系统中,准确的时间戳是审计交易合法性的重要依据。

8. 时间敏感型应用

  • 意义:某些应用对时间非常敏感,例如实时数据采集、科学实验、金融交易等。时间不准确可能导致数据错误或交易失败。
  • 示例:高频交易系统依赖微秒级的时间精度来确保交易的公平性和正确性。

9. 网络时间协议(NTP)的作用

为了维护准确的时间,通常使用 网络时间协议(NTP)同步系统时间。NTP 可以将系统时间与可靠的时间源(如原子钟、GPS 或公共 NTP 服务器)同步,确保时间的准确性。

  • 配置 NTP
    在 RHEL 中,可以使用 chrony 或 ntpd 来配置 NTP 服务。例如:

sudo yum install chrony

sudo systemctl start chronyd

sudo systemctl enable chronyd

  • 检查时间同步状态
    使用 chronyc 或 ntpq 命令检查时间同步状态:

chronyc tracking

ntpq -p

相关文章:

重生之我要当云原生大师(十四)分析和存储日志

目录 一、简述常用的日志文件所存储的消息类型。 二、syslog的优先级? 三、维护准确时间的意义? 一、简述常用的日志文件所存储的消息类型。 1. 系统日志文件 /var/log/messages 消息类型:通用的系统日志文件,记录系统启动、…...

C++基础知识学习记录—补充

1、C新增的赋值语法 #include <iostream>using namespace std;int main() {//C新的赋值语法//1、传统的赋值语法int a,b;a100;b99;//C新的赋值语法int c(2);//相当于给c赋值2int d(c);//相当于把c的值赋值给dcout << "c" << c << endl;co…...

Linux常用命令——磁盘管理类

文章目录 du 查看文件和目录占用的磁盘空间df 查看磁盘空间使用情况free 显示内存占用情况lsblk 查看设备挂载情况mount/umount 挂载/卸载fdisk 分区Linux分区分区操作按键说明挂载硬盘操作 du 查看文件和目录占用的磁盘空间 ls-lh是查看文件大小du: disk usage 磁盘占用情况d…...

【AI学习】DeepSeek为什么强?

个人的一些思考&#xff0c;请大家批评指正。 这个问题&#xff0c;首先当然是在恰当的时间出现&#xff0c;模型性能跻身世界一流&#xff0c;又开源&#xff0c;戳破了OpenAI和英伟达潜心构造的叙事逻辑。 DeepSeek为什么强&#xff1f;四个方面&#xff1a;模型的智能水平…...

【快应用】原生广告下载状态监听案例

问题背景&#xff1a; 快应用中下载类原生广告监听下载状态变化接口调用没生效&#xff0c;在上报点击接口里触发下载监听后仅第一次返回状态&#xff0c;之后就不返回了&#xff0c;该如何处理&#xff1f; 问题分析&#xff1a; 快应用在1100版本新增了一个ad-button组件&a…...

C++语言的软件工程

C语言的软件工程 引言 在当今快速发展的技术领域&#xff0c;软件工程作为一门综合性的学科&#xff0c;越来越受到重视。而C语言&#xff0c;作为一种功能强大且具有广泛应用的编程语言&#xff0c;在软件工程中占据着重要的地位。本文将探讨C语言在软件工程中的应用与特点&…...

计算机网络结课设计:通过思科Cisco进行中小型校园网搭建

上学期计算机网络课程的结课设计是使用思科模拟器搭建一个中小型校园网&#xff0c;当时花了几天时间查阅相关博客总算是做出来了&#xff0c;在验收后一直没管&#xff0c;在寒假想起来了简单分享一下&#xff0c;希望可以给有需求的小伙伴一些帮助 目录 一、设计要求 二、…...

无人机避障——基于ESDF地图的JPS算法前端路径规划

原来是用栅格地图的方式&#xff0c;0表示可通行区域&#xff0c;1表示不可通行区域&#xff0c;然后采用JPS算法做路径规划&#xff0c;从起点到终点规划出一条路径。但是目前我需要做的是将栅格地图更换为ESDF地图&#xff0c;那么JPS算法计算代价的部分是否需要进行变化。 …...

【MQ】RabbitMQ 高可用延时功能的探究

延迟消息如果使用延时交换机来实现&#xff0c;如果数据量过大&#xff0c;就会很占 CPU 资源&#xff0c;轻则时间误差大&#xff0c;重则 RabbitMQ 宕机 一、针对一个 RabbitMQ 节点 &#xff08;1&#xff09;利用队列 ttl&#xff0c;将延迟消息根据 delay 的时间进行分级…...

Maven入门核心知识点总结

Maven 1. POM&#xff08;Project Object Model&#xff09;2. 坐标&#xff08;Coordinates&#xff09;3. 依赖管理&#xff08;Dependency Management&#xff09;4. 常用五个生命周期&#xff08;Life Circle&#xff09;5. Maven 仓库&#xff08;Maven Repository&#x…...

【力扣】138.随机链表的复制

AC截图 题目 代码 使用哈希存储<旧节点&#xff0c;新结点> /* // Definition for a Node. class Node { public:int val;Node* next;Node* random;Node(int _val) {val _val;next NULL;random NULL;} }; */class Solution { public:Node* copyRandomList(Node* hea…...

编程语言的深度剖析:从语法到性能优化

引言 随着软件开发的不断进化&#xff0c;编程语言的选择对项目的成功与否具有关键影响。今天的开发者面临着丰富多样的编程语言选择&#xff1a;每一种语言都有独特的优势、特性和适用场景。然而&#xff0c;语言的设计理念、运行机制和优化技巧背后的技术细节却常常被忽视。本…...

台湾精锐APEX减速机在半导体制造设备中的应用案例

半导体制造设备对传动系统的精度、可靠性和稳定性要求极高&#xff0c;台湾精锐APEX减速机凭借其低背隙、高精度和高刚性等优势&#xff0c;在半导体制造设备中得到了广泛应用。 案例一&#xff1a;晶圆切割设备 1.应用场景 在晶圆切割过程中&#xff0c;设备需要高精度的运…...

Rocketmq 和 Rabbitmq ,在多消费者的情况下,可以实现顺序消费吗

在多消费者的情况下&#xff0c;RocketMQ 和 RabbitMQ 都可以实现顺序消费&#xff0c;但它们的实现机制和适用场景有所不同。以下是对两者的详细分析和对比&#xff1a; 1. RocketMQ 的顺序消费 1.1 实现机制 顺序消息&#xff1a;RocketMQ 支持顺序消息&#xff08;Orderly …...

Springboot原理(面试高频)

目录 一、 配置优先级 ​编辑 二、Bean管理 ​​​​​​​2.1&#xff1a;获取Bean ​编辑 ​​​​​​​2.2&#xff1a;Bean作用域 ​​​​​​​​​​​​​​2.3&#xff1a;第三方Bean 三、Springboot底层原理 3.1&#xff1a;起步依赖 3.1.1&#xff1a;ma…...

2024 Rust现代实用教程:1.1Rust简介与安装更新

文章目录 一、Rust安装二、更新Rust三、Rust的Stable与Nightly版本四、卸载ubuntu安装的cargo和rustup五、rust源设置六、rust交叉编译工具链说明 rustup稳定版交叉编译步骤 步骤 1&#xff1a;安装目标组件步骤 2&#xff1a;安装交叉编译工具链步骤 3&#xff1a;配置环境变…...

yolov11模型在Android设备上运行【踩坑记录】

0) 参考资料: https://github.com/Tencent/ncnn?tabreadme-ov-file https://github.com/pnnx/pnnx https://github.com/nihui/ncnn-android-yolov5 https://github.com/Tencent/ncnn?tabreadme-ov-file 1) &#xff1a;将xxx.pt模型转化成 xxx.onnx ONNX&#xff08;Ope…...

提示工程:少样本提示(Few-shot Prompting)

少样本提示&#xff08;Few-shot Prompting&#xff09;是一种利用大语言模型从少量示例样本中学习并处理任务的方法。它的核心思想是利用大语言模型的上下文学习能力&#xff0c;通过在提示中增加“示例样本”来启发大语言模型达到举一反三的效果。这种方法避免了重新训练或者…...

方舟字节码原理剖析:架构、特性与实践应用

方舟字节码原理剖析&#xff1a;架构、特性与实践应用 一、引言 在当今软件行业高速发展的大背景下&#xff0c;应用程序的性能、开发效率以及跨平台兼容性成为了开发者们关注的核心要素。编译器作为软件开发流程中的关键工具&#xff0c;其性能和特性直接影响着软件的质量和…...

深入Linux系列之环境变量

深入Linux系列之环境变量 那么在之前的内容中&#xff0c;我们已经介绍了我们Linux进程的一些关键属性&#xff0c;例如进程编号以及进程状态和进程优先级&#xff0c;那么本篇文章接介绍Linux的环境变量这一知识点&#xff0c;那么废话不多说&#xff0c;我们进入环境变量的讲…...

国产编辑器EverEdit - Web预览功能

1 Web预览 1.1 应用场景 在编辑HTML文件时&#xff0c;可以通过EverEdit的Web预览功能&#xff0c;方便用户随时观察和调整HTML代码。 1.2 使用方法 1.2.1 使用EverEdit内部浏览器预览 选择主菜单查看 -> Web预览&#xff0c;或使用快捷键Ctrl B&#xff0c;即可打开Ev…...

C#中的Frm_Welcome.Instance.Show(),是什么意思

Frm_Welcome.Instance.Show() 是一种常见的单例模式&#xff08;Singleton Pattern&#xff09;实现方式&#xff0c;通常用于在应用程序中确保某个窗体&#xff08;Form&#xff09;只有一个实例&#xff0c;并通过该实例显示窗体。以下是对这段代码的详细解释&#xff1a; 代…...

07苍穹外卖之redis缓存商品、购物车(redis案例缓存实现)

课程内容 缓存菜品 缓存套餐 添加购物车 查看购物车 清空购物车 功能实现&#xff1a;缓存商品、购物车 效果图&#xff1a; 1. 缓存菜品 1.1 问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压…...

C++开发(软件开发)常见面试题

目录 1、C里指针和数组的区别 2、C中空指针请使用nullptr不要使用NULL 3、http/https区别和头部结构&#xff1f; 4、有了mac地址为什么还要ip地址&#xff1f;ip地址的作用 5、有了路由器为什么还要交换机&#xff1f; 6、面向对象三大特性 7、友元函数 8、大端小端 …...

人工智能-A*算法与卷积神经网络(CNN)结合实现路径规划

以下是一个将 A* 算法与卷积神经网络(CNN)结合实现路径规划的代码示例。主要思路是使用 A* 算法生成训练数据,然后用这些数据训练一个 CNN 模型,让 CNN 学习如何预测路径,最后使用训练好的 CNN 模型进行路径规划。 代码实现 import numpy as np import heapq import tor…...

蓝桥杯备赛——进制转化相关问题

目录 一、基础概念 二、问题研究&#xff08;1&#xff09; 代码解读&#xff1a; 1. transfer 函数 代码功能概述 详细步骤 2. main 函数 代码功能概述 详细步骤 三、运用递归解决 &#xff08;一&#xff09; 代码如下&#xff1a; 代码解读&#xff1a; &#…...

DevOps的个人学习

一、DevOps介绍 软件开发最初是由两个团队组成&#xff1a; 开发团队&#xff1a;负责设计和构建系统。运维团队&#xff1a;负责测试代码后部署上线&#xff0c;确保系统稳定安全运行。 这两个看似目标不同的团队需要协同完成一个软件的开发。DevOps整合了开发与运维团队&a…...

使用Pytorch训练一个图像分类器

一、准备数据集 一般来说&#xff0c;当你不得不与图像、文本或者视频资料打交道时&#xff0c;会选择使用python的标准库将原始数据加载转化成numpy数组&#xff0c;甚至可以继续转换成torch.*Tensor。 对图片而言&#xff0c;可以使用Pillow库和OpenCV库对视频而言&#xf…...

《ARM64体系结构编程与实践》学习笔记(四)

MMU内存管理 1.MMU内存管理&#xff08;armv8.6手册的D5章节&#xff09;&#xff0c;MMU包含快表TLB&#xff0c;TLB是对页表的部分缓存&#xff0c;页表是存放在内存里面的。 AArch64仅仅支持Long Descriptor的页表格式&#xff0c;AArch32支持两种页表格式Armv7-A Short De…...

01-SDRAM控制器的设计——案例总概述

本教程重点▷▷▷ 存储器简介。 介绍 SDRAM 的工作原理。 详细讲解SDRAM 控制的Verilog 实现方法。 PLL IP和FIFO IP 的调用&#xff0c;计数器设计&#xff0c;按键边沿捕获&#xff0c;数码管控制。 完成SDRAM控制器应用的完整案例。 Signal Tap 调试方法。 准备工作▷…...