系统监控:使用日志文件 journalctl的使用

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本文介绍了如何使用`journalctl`命令来监控和查看Linux系统的日志文件,包括查看特定行数、过滤日志级别、实时跟踪日志、按时间段查询日志以及日志轮换和压缩的配置。
journalctl

显示最近登录的:

上面有最近登录的时间,和系统操作

几十年来,Linux日志记录一直由syslogd守护进程管理。Syslogd将收集系统处理和应用程序发送到/dev/log伪设备的日志消息。然后,它会将消息定向到/var/log/目录中适当的纯文本日志文件。Syslogd(图11.1)知道将消息发送到哪里,因为每个消息都包含包含元数据字段(包括时间戳、消息来源和优先级)的报头。

显示前20行数据:

journalctl -n 20

显示紧急事件:

journalctl -p emerg

除了紧急消息,您还可以过滤debug、info、notice、warning、err、crit和alert消息添加-f标志(用于跟踪)将显示最近创建的10个条目和所有后续条目。


这允许您在事件发生时实时观看事件:

journalctl -f

按一定的时间段查看:

journalctl --since 15:50:00 --until 15:52:00

由于数百个系统进程每小时输出数千条日志消息,非托管日志系统很快就会填满所有可用的存储空间。此时,日志记录将中断,依赖于该空间的任何其他系统进程也将中断。
该怎么办?

Journald通过自动限制日志系统允许使用的最大磁盘空间来解决这个问题。一旦达到限制,旧的消息将被删除。该设置由SystemMaxUse=和控制RuntimeMaxUse= /etc/systemd/journal.conf文件中的settings。

可以看到,我这边有,但是都没有设置。

7天后,当下一个轮换日期到来时,auth.log.2.gz将被重命名为auth
.log.3.gz auth.log。auth.log将被压缩并重命名为auth.log.2.gz, auth.log将成为auth.log。1,并创建一个名为auth.log的新文件。默认的日志循环周期在/etc/logrotate.conf文件中控制。清单中显示的值在一个活动周后旋转文件,并在四周后删除旧文件。

的/etc/logrotate.d目录还包含用于管理各个服务或应用程序的日志轮换的自定义配置文件。列出该目录的内容,你会看到这些配置文件:

以tomcat为例子,在被删之前将旋转52次,compress的意思是,旋转后将会被压缩,每周轮换一次。

许多管理员选择将日志条目重定向到专门构建的远程日志服务器,在那里数据可以得到应有的所有专门关注。
这可以释放应用程序服务器以执行其即时任务,并将日志数据整合到一个易于访问的中心位置。

awk的使用:

最基本的用法是awk 动作 文件名

比如说:

awk  '{print $1,$4}' catalina.2023-10-06.log

原先是这个:

显示的就是第一个和第四个单词的值。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
存储 监控 安全
深入探索Linux的journalctl命令:系统日志的利器
**journalctl 深入解析:Linux 系统日志的强大工具** journalctl 是 Linux 中用于查询和管理 systemd 日志的命令行工具,与 systemd-journald 配合收集广泛的信息,包括内核消息和服务日志。它提供实时追踪、过滤、导出等功能,如 `-f` 实时监控,`-u` 过滤特定服务日志,`-k` 显示内核消息,`--since` 和 `--until` 选择时间范围。在实际应用中,结合权限管理、日志空间控制和有效过滤,journalctl 成为系统管理员诊断和优化系统的得力助手。
|
缓存 监控 Linux
Linux 日志查看命令journalctl
Journald是Linux系统中新的系统日志方式,它把日志信息写入二进制文件,它终结了文本日志。查看所有系统日志,只用一个命令即可,这个命令就是journalctl。Journald守护进程:systemd-journald,其中systemd日志服务就由此守护程序处理。
569 0
|
关系型数据库 Linux Docker
journalctl日志工具使用方法
journalctl日志工具使用方法
218 0
|
存储 JSON 监控
linux journalctl日志分析详解
linux journalctl日志分析详解
|
Linux
Linux—journalctl命令 – 查看日志
Systemd统一管理所有 Unit 的启动日志。带来的好处就是可以只用journalctl一个命令,查看所有日志(内核日志和 应用日志)。
691 0
|
2月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
|
29天前
|
Java
日志框架log4j打印异常堆栈信息携带traceId,方便接口异常排查
日常项目运行日志,异常栈打印是不带traceId,导致排查问题查找异常栈很麻烦。
|
1月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
79 9
|
2月前
|
开发框架 .NET Docker
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
|
2月前
|
存储 监控 安全