重生之我要当云原生大师(十四)分析和存储日志
目录
一、简述常用的日志文件所存储的消息类型。
二、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 | | 邮件系统消息 |
| 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为什么强?
个人的一些思考,请大家批评指正。 这个问题,首先当然是在恰当的时间出现,模型性能跻身世界一流,又开源,戳破了OpenAI和英伟达潜心构造的叙事逻辑。 DeepSeek为什么强?四个方面:模型的智能水平…...
【快应用】原生广告下载状态监听案例
问题背景: 快应用中下载类原生广告监听下载状态变化接口调用没生效,在上报点击接口里触发下载监听后仅第一次返回状态,之后就不返回了,该如何处理? 问题分析: 快应用在1100版本新增了一个ad-button组件&a…...
C++语言的软件工程
C语言的软件工程 引言 在当今快速发展的技术领域,软件工程作为一门综合性的学科,越来越受到重视。而C语言,作为一种功能强大且具有广泛应用的编程语言,在软件工程中占据着重要的地位。本文将探讨C语言在软件工程中的应用与特点&…...
计算机网络结课设计:通过思科Cisco进行中小型校园网搭建
上学期计算机网络课程的结课设计是使用思科模拟器搭建一个中小型校园网,当时花了几天时间查阅相关博客总算是做出来了,在验收后一直没管,在寒假想起来了简单分享一下,希望可以给有需求的小伙伴一些帮助 目录 一、设计要求 二、…...
无人机避障——基于ESDF地图的JPS算法前端路径规划
原来是用栅格地图的方式,0表示可通行区域,1表示不可通行区域,然后采用JPS算法做路径规划,从起点到终点规划出一条路径。但是目前我需要做的是将栅格地图更换为ESDF地图,那么JPS算法计算代价的部分是否需要进行变化。 …...
【MQ】RabbitMQ 高可用延时功能的探究
延迟消息如果使用延时交换机来实现,如果数据量过大,就会很占 CPU 资源,轻则时间误差大,重则 RabbitMQ 宕机 一、针对一个 RabbitMQ 节点 (1)利用队列 ttl,将延迟消息根据 delay 的时间进行分级…...
Maven入门核心知识点总结
Maven 1. POM(Project Object Model)2. 坐标(Coordinates)3. 依赖管理(Dependency Management)4. 常用五个生命周期(Life Circle)5. Maven 仓库(Maven Repository&#x…...
【力扣】138.随机链表的复制
AC截图 题目 代码 使用哈希存储<旧节点,新结点> /* // 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…...
编程语言的深度剖析:从语法到性能优化
引言 随着软件开发的不断进化,编程语言的选择对项目的成功与否具有关键影响。今天的开发者面临着丰富多样的编程语言选择:每一种语言都有独特的优势、特性和适用场景。然而,语言的设计理念、运行机制和优化技巧背后的技术细节却常常被忽视。本…...
台湾精锐APEX减速机在半导体制造设备中的应用案例
半导体制造设备对传动系统的精度、可靠性和稳定性要求极高,台湾精锐APEX减速机凭借其低背隙、高精度和高刚性等优势,在半导体制造设备中得到了广泛应用。 案例一:晶圆切割设备 1.应用场景 在晶圆切割过程中,设备需要高精度的运…...
Rocketmq 和 Rabbitmq ,在多消费者的情况下,可以实现顺序消费吗
在多消费者的情况下,RocketMQ 和 RabbitMQ 都可以实现顺序消费,但它们的实现机制和适用场景有所不同。以下是对两者的详细分析和对比: 1. RocketMQ 的顺序消费 1.1 实现机制 顺序消息:RocketMQ 支持顺序消息(Orderly …...
Springboot原理(面试高频)
目录 一、 配置优先级 编辑 二、Bean管理 2.1:获取Bean 编辑 2.2:Bean作用域 2.3:第三方Bean 三、Springboot底层原理 3.1:起步依赖 3.1.1:ma…...
2024 Rust现代实用教程:1.1Rust简介与安装更新
文章目录 一、Rust安装二、更新Rust三、Rust的Stable与Nightly版本四、卸载ubuntu安装的cargo和rustup五、rust源设置六、rust交叉编译工具链说明 rustup稳定版交叉编译步骤 步骤 1:安装目标组件步骤 2:安装交叉编译工具链步骤 3:配置环境变…...
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) :将xxx.pt模型转化成 xxx.onnx ONNX(Ope…...
提示工程:少样本提示(Few-shot Prompting)
少样本提示(Few-shot Prompting)是一种利用大语言模型从少量示例样本中学习并处理任务的方法。它的核心思想是利用大语言模型的上下文学习能力,通过在提示中增加“示例样本”来启发大语言模型达到举一反三的效果。这种方法避免了重新训练或者…...
方舟字节码原理剖析:架构、特性与实践应用
方舟字节码原理剖析:架构、特性与实践应用 一、引言 在当今软件行业高速发展的大背景下,应用程序的性能、开发效率以及跨平台兼容性成为了开发者们关注的核心要素。编译器作为软件开发流程中的关键工具,其性能和特性直接影响着软件的质量和…...
深入Linux系列之环境变量
深入Linux系列之环境变量 那么在之前的内容中,我们已经介绍了我们Linux进程的一些关键属性,例如进程编号以及进程状态和进程优先级,那么本篇文章接介绍Linux的环境变量这一知识点,那么废话不多说,我们进入环境变量的讲…...
Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
React hook之useRef
React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...
C# 表达式和运算符(求值顺序)
求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如,已知表达式3*52,依照子表达式的求值顺序,有两种可能的结果,如图9-3所示。 如果乘法先执行,结果是17。如果5…...
热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁
赛门铁克威胁猎手团队最新报告披露,数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据,严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能,但SEMR…...
