重生之我要当云原生大师(十四)分析和存储日志
目录
一、简述常用的日志文件所存储的消息类型。
二、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的环境变量这一知识点,那么废话不多说,我们进入环境变量的讲…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
Qt的学习(一)
1.什么是Qt Qt特指用来进行桌面应用开发(电脑上写的程序)涉及到的一套技术Qt无法开发网页前端,也不能开发移动应用。 客户端开发的重要任务:编写和用户交互的界面。一般来说和用户交互的界面,有两种典型风格&…...
Mac flutter环境搭建
一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ is not explicitly defined.
这个警告表明您在使用Vue的esm-bundler构建版本时,未明确定义编译时特性标志。以下是详细解释和解决方案: 问题原因: 该标志是Vue 3.4引入的编译时特性标志,用于控制生产环境下SSR水合不匹配错误的详细报告1使用esm-bundler…...
基于 HTTP 的单向流式通信协议SSE详解
SSE(Server-Sent Events)详解 🧠 什么是 SSE? SSE(Server-Sent Events) 是 HTML5 标准中定义的一种通信机制,它允许服务器主动将事件推送给客户端(浏览器)。与传统的 H…...
