快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → Linux日志系统架构和文件

Linux日志系统架构和文件

时间:2022-05-06 08:36:18人气:作者:快盘下载我要评论

    今天在腾讯云大学网站闲逛,发现了一个“从传统运维到云运维”的课程,较为系统化的,可以打包自己的零散化知识,构建系统化思维能力。于是笔者针对其中的章节“分析和存储日志”,将视频中重要信息摘抄下来以供学习,并在腾讯云轻量应用服务器上学习、测试、验证。

    1、日志系统架构

    内建基于日志系统标准协议的日志记录系统,有两个服务负责。

    systemd-journald是红帽7新引进的日志收集系统,systemd-journald守护进程提供一种改进的日志管理服务,可以来自内核、启动过程的早期阶段、标准输出、系统日志,以及守护进程启动和运行阶段的错误信息。

    rsyslog是syslog的加强版,处理能力强于syslog,rsyslogd服务随后根据数据类型或者设备类型和优先级排列系统日志服务,将它们写到/var/log目录的永久性文件中。

    2、系统日志文件

    /var/log/messages  :大部分系统日志

    /var/log/secure  :身份验证、相关安全日志

    /var/log/maillog  :邮件相关信息

    /var/log/cron  :计划任务相关信息、系统时间等

    /var/log/boot.log:启动过程中产生的日志

Linux日志系统架构和文件

    3、日志文件优先级

        许多程序使用syslog协议将时间记录到系统,每一个日志消息根据设备(消息类型)和优先级(消息的严重性)分类。可用的设备在rsyslog.conf(5)中有概述。

    优先级概述:

    编码0      emerg            系统不可用

    编码1      alert                必须立即采取措施

    编码2      crit                  严重状况

    编码3      err                  非常严重错误状况

    编码4      warning          警告状况

    编码5      notice              正常但重要事件

    编码6      info                  信息性事件

    编码7      debug            调试级别信息

  4、日志系统配置

    rsyslogd服务使用日志的设备和优先级来确定如何进行处理,通过/etc/rsyslog.conf以及/etc/rsyslog.d目录下的*.conf文件进行配置。/etc/rsyslog.d目录下的文件可用自定义,更改配置而不被rsyslog所覆盖。

    /etc/rsyslog.conf中RULES中定义了规则。左侧表示与指令匹配的日志消息的设备和严重性,*为通配符,右侧是日志消息存放的文件。

    比如*.info;mail.none;authpriv.none;cron.none  会存放在 /var/log/messages 中。 *.emerg            :omusrmsg:* 的意思是  Everybody gets emergency messages,发送使用消息给所有登陆的用户。

架构

    5、日志文件轮转

    日志通过logrotate实用工具进行“轮转”,防止将文件系统填满。

    轮转日志时会使用名称扩展对其进行重命名,原文件轮转后会创建新的日志文件,并通知对它进行日志写操作 。轮转若干次(通常四次)丢弃原日志文件以释放磁盘空间。cron计划任务每日运行一次logrotate程序,以查看是否有日志需要轮转,大多数日志文件每周轮转一次,轮转速度有快有慢,或者达到特定大小时轮转。

架构

    6、查看系统日志条目

    tail /var/log/messages  查看最后十条,  tail -f 可以实时查看最后的十条。

架构

    可以使用logger命令发送系统日志。logger将消息发送到rsyslog服务,默认严重性为notice(user.notice)的消息发送,除非通过-p(priority)另外指定。

    logger -p user.notice hello world!

架构

    7、查看systemd日志条目

    systemd日志将日志数据存储在带有索引的结构化二进制文件中,此数据包包含与日志事件相关的额外信息,如原始消息的设备和优先级。  红帽7的systemd日志默认存储在/run/log目录中,其内容将在重启后清除。

    二进制文件可以通过journalctl查找事件。

    journalctl:以less的形式从最旧的日志条目显示完整的系统日志;

    journalctl -n number:显示最后number条日志;

    journalctl  -p  err :根据日志优先级过滤日志条目;

    journalctl -f :持续动态输出最后十行;

    journalctl --since today:今天的日志;

    journalctl --since "2021-5-1 20:00:00  --until  "2021-5-1 21:00:00" :读取时间段的日志条目。

    journalctl  -o  verbose:显示日志的详细信息

架构

    同时,可以通过日志的详细信息中的特定的信息来搜索日志条目,比如:

      journalctl  _PID=1234  :根据PID号搜索日志;

      journalctl  _UID=1234  :根据用户UID号搜索日志;

    8、日志持久化保存

        上面讲过红帽7的systemd日志默认存储在/run/log目录中,其内容将在重启后清除。但是在红帽8中,日志在/var/log/journal中,可以永久保存日志。

架构

    即便是永久保存,并非所有数据都永久保存,该日志有内置的日志轮换机制,会在每月触发。配置文件在/etc/systemd/journald.conf  ,默认情况下日志的大小不超过文件系统的10%,也不造成文件系统的可用空间小于15% 。

    9、保持系统时间准确

    保持准确的时间同步和时区设置,确保日志系统中的时间戳准确。

    网络事件协议NTP,通过互联网保持时间同步。

    timedatectl显示时间相关的系统设置。

    timedatectl list-timezones列出所有时区。

    timedatectl set-timezones + 时区来设置时区。

    timedatectl set-time + 时间来设置时间。

    timedatectl set-ntp true 启用ntp

    timedatectl set-ntp false 禁用ntp

架构

        chronyd服务配置客服端与NTP服务器同步。默认情况下chrond使用NTP pool project服务器池,不需要额外配置。但是孤立网络中的服务器时,需要配置,更改/etc/chrond.conf配置文件。

架构

相关文章

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。