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

目录

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

二、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

相关推荐
SilentSamsara9 小时前
存储卷体系:EmptyDir/HostPath/PV/PVC/StorageClass 的选型决策树
服务器·微服务·云原生·容器·架构·kubernetes·k8s
王的宝库10 小时前
【K8s】集群安全机制(二):授权(Authorization)详解与实战
学习·云原生·容器·kubernetes
东北甜妹12 小时前
Docker 容器故障排查
云原生·eureka
Shining059613 小时前
QEMU 编译开发环境搭建
人工智能·语言模型·自然语言处理·云原生·qemu·vllm·华为昇腾
匀泪1 天前
云原生(Kubernetes service微服务)
微服务·云原生·kubernetes
倔强的胖蚂蚁1 天前
Ollama Modelfile 配置文件 全指南
云原生·开源
AutoMQ1 天前
AWS 新发布的 S3 Files 适合作为 Kafka 的存储吗?
云原生·消息队列·云计算
MY_TEUCK2 天前
从零开始:使用Sealos Devbox快速搭建云原生开发环境
人工智能·spring boot·ai·云原生·aigc
没有口袋啦2 天前
《基于 GitOps 理念的企业级自动化 CI/CD 流水线》
阿里云·ci/cd·云原生·自动化·k8s
柯西劝我别收敛2 天前
Koordinator-Scheduler 调度器源码解析
后端·云原生