占用磁盘100%?Apache DolphinScheduler 日志如何定时清理!

当 Apache DolphinScheduler 运行几个月后,大部分朋友会发现 Logs 下的运行日志越来越多,这时可以考虑清理下 Logs/ 目录下的日志文件,比如设置只保留最近 3 天的日志,怎么操作呢?

可以通过执行以下三个命令来实现:

find ./logs -type f -mtime +3 -name "dolphinscheduler-worker.*.log" -delete
find ./logs -type f -mtime +3 -name "dolphinscheduler-master.*.log" -delete
find ./logs -type f -mtime +3 -name "dolphinscheduler-api.*.log" -delete

Apache DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流任务调度系统,它适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。

在使用过程中,随着任务的不断执行,会产生大量的日志文件,这些文件可能会占用大量的磁盘空间。

因此,定期清理日志文件是非常必要的。

我们可以设置定时清理 Apache DolphinScheduler 的日志,以减少磁盘空间的占用:

找到 安装目录下 conf/ 目录下.

conf 目录下,有几个Logback 文件,编辑打开.

默认内容是如下:默认 日志保留168天,每个文件大小64M ,太大了,修改这两个参数,改成 1 ,10MB.

<!-- api server logback config start --><appender name="APILOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.base}/dolphinscheduler-api.log</file><filter class="ch.qos.logback.classic.filter.ThresholdFilter"><level>INFO</level></filter><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${log.base}/dolphinscheduler-api.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern><maxHistory>168</maxHistory><maxFileSize>64MB</maxFileSize></rollingPolicy><encoder><pattern>[%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n</pattern><charset>UTF-8</charset></encoder>

这段配置是 Apache DolphinScheduler 的 API 服务器日志的 Logback 配置。

Logback 是一个流行的 Java 日志框架,用于配置日志记录器。

这段配置定义了一个名为 APILOGFILERollingFileAppender,它将日志信息追加到一个滚动的文件中。

以下是配置的详细解释:

  • <file>:指定日志文件的存放路径和文件名。${log.base} 是一个变量,表示日志文件的基础目录,它的值通常在配置文件的其他部分定义。

  • <filter class="ch.qos.logback.classic.filter.ThresholdFilter">:设置一个过滤器,只记录 INFO 级别及以上的日志。

  • <rollingPolicy>:定义了滚动策略,即何时创建新的日志文件。这里使用的是 SizeAndTimeBasedRollingPolicy,它基于文件大小和时间来滚动日志。

    • <fileNamePattern>:定义了滚动日志文件的命名模式,%d{yyyy-MM-dd_HH} 表示文件名中包含日期和小时,%i 表示文件的索引号(根据文件大小)。

    • <maxHistory>:定义了要保留的日志文件的最大天数。这里设置为 168 天,超过这个时间的日志文件将被删除。

    • <maxFileSize>:定义了单个日志文件的最大大小,这里设置为 64MB。

  • <encoder>:定义了日志的格式和字符集。

    • <pattern>:定义了日志的格式,包括日志级别、日期、日志记录器的名称、行号和日志消息。

    • <charset>:设置日志文件的字符编码为 UTF-8。

要修改配置以调整日志文件的滚动策略或清理日志,你可以调整以下参数:

  1. 修改日志保留时间:如果你想要保留更长时间的日志,可以增加 <maxHistory> 的值。例如,要保留 30 天的日志,可以将其设置为 30。

  2. 修改日志文件大小:如果你想要日志文件在达到特定大小时滚动,可以修改 <maxFileSize> 的值。例如,要将每个日志文件的大小限制为 128MB,可以将其设置为 128MB

  3. 修改日志格式:如果你想要改变日志的格式,可以修改 <pattern> 中的内容。

  4. 定时清理日志:Logback 配置本身不负责日志的定时清理。你需要使用操作系统的定时任务(如 Linux 的 cron 作业)来定期删除旧的日志文件。例如,你可以编写一个脚本,使用 find 命令查找并删除超出保留期限的日志文件,并将其设置为定时运行。

请注意,修改配置文件后,需要重启 Apache DolphinScheduler 的对应服务以使更改生效,本文完!

本文由 白鲸开源 提供发布支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/841575.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CMS管理后台(前后端分离模式)

本后台使用前后端分离模式开发,前端UI为Vue3+Ant Design Vue,后端Api为Go+Gin,解耦前后端逻辑,使开发更专注 技术栈 前端:Vue3,Ant Design Vue,Axios,分页,OTP动态码登录 后端:Gin,Gorm,Mysql,Docker,JWT,跨域,Log,模型绑定,Validator,权限判断,分页,OT…

专为Mac设计的文件管理工具——Dropzone 4 直装版本 Dropzone 4激活下载

Dropzone 4直装激活版是一款专为Mac设计的文件管理工具,它通过拖放操作简化文件管理流程。该软件支持快速上传文件至多种云存储服务(如Dropbox、Google Drive等),并提供文件合并、拆分、压缩、解压及邮件发送等功能。Dropzone 4允许用户自定义操作和快速访问面板,进一步提…

视频处理软件——VideoProc Converter 4K完美汉化激活 VideoProc Converter 4K免登录版本

VideoProc Converter 4K是一款功能强大的视频处理软件。它支持多种视频格式转换,包括MP4、AVI、MOV等,并能快速转换为高质量的4K、1080p等分辨率的视频。此外,该软件还具备视频编辑、剪辑、压缩、裁剪、合并等多种功能,且支持硬件加速技术,能显著提高处理速度。其直观的用…

gin.engine

EngineEngine即gin对应的服务端类(Server类),对应net/http中的ServeMux。编写gin的服务时,通常有两种初始化方法:以上两种方法都生成一个*Engine实例,只是gin.Default()生成的Engine带了Logger和Recovery两个中间件。Engine的核心成员如下: 一个Engine的核心功能包括:注册…

为什么ChatGpt能够那么精准的回答我们的问题,让Gpt自己回答!

一句话理解,授人以鱼不如授人以渔,而GPT每次给别人解答问题的时候都是记住的是这个“渔”本文来自博客园,作者:WantRemake,转载请注明原文链接:https://www.cnblogs.com/SmallChen/p/18569819

arthas排查接口响应超时并优化查询

本文主要记录使用arthas工具来排查线上系统接口性能问题,如果你也刚好刷到这篇文章,希望对你有所帮助。 事情起因是接手了一个项目,已经部署在现场了,结果访问页面提示超时,这里先通过F12打开浏览器开发者工具,确定了是接口getMeterList接口响应超时,接着我去看了应用日…

C#Csharp演示代码编译

C#Csharp演示代码编译 一、新建一个txt文件直接修改后缀二、写一个基础代码 和所有代码一样,首先需要一个函数入口: using System;namespace MySpace { class Program{static void Main(string[] args){Console.WriteLine("hello w");Console.ReadKey();}} }三、C#…

电脑用户名修改

右击此电脑选择管理选择需要修改的用户进行更改

4G模组LuatOS:超低功耗模式的快速入门指南

关于超低功耗模式的快速入门指南,我将教大家使用Air201的超低功耗模式下,定时三分钟上传以及G-senser拓展示例。 接下来,我们讲解相关示例的具体使用。关于超低功耗模式的快速入门指南,我将教大家使用Air201的超低功耗模式下,定时三分钟上传以及G-senser拓展示例。 接下来…

4G模组LuatOS开发的通用加解密函数(crypto)全面解读

本文说的是4G模组的通用加解密函数(crypto)全面解读,我会以咋们常用的低功耗模组Air780E作为例子做LuatOS开发。本文说的是4G模组的通用加解密函数(crypto)全面解读,我会以咋们常用的低功耗模组Air780E作为例子做LuatOS开发。 一、加解密概述 加解密算法是保证数据安全的基础…

Docker - Minio对象存储部署

Minio 是一个基于 Apache License v2.0 开源协议的对象存储服务。非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。集群部署也是非常的简单,本篇文章只讨论单机部署,集群有…

Docker 部署 Apollo 分布式配置管理中心

Apollo(阿波罗)是一款可靠的分布式配置管理中心,诞生于携程框架研发部,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 镜像拉取# 配置服务,负责:配置的读取和推送 dock…