找回密码
 立即注册
首页 业界区 安全 占用磁盘100%?Apache DolphinScheduler 日志如何定时清 ...

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

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

可以通过执行以下三个命令来实现:
  1. find ./logs -type f -mtime +3 -name "dolphinscheduler-worker.*.log" -delete
  2. find ./logs -type f -mtime +3 -name "dolphinscheduler-master.*.log" -delete
  3. find ./logs -type f -mtime +3 -name "dolphinscheduler-api.*.log" -delete
复制代码
2.jpeg

Apache DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流任务调度系统,它适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。
在使用过程中,随着任务的不断执行,会产生大量的日志文件,这些文件可能会占用大量的磁盘空间。
因此,定期清理日志文件是非常必要的。
我们可以设置定时清理 Apache DolphinScheduler 的日志,以减少磁盘空间的占用:
找到 安装目录下 conf/ 目录下.
3.png

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

默认内容是如下:默认 日志保留168天,每个文件大小64M ,太大了,修改这两个参数,改成 1 ,10MB.
  1.    
  2.         <file>${log.base}/dolphinscheduler-api.log</file>
  3.         <filter >
  4.             <level>INFO</level>
  5.         </filter>
  6.         <rollingPolicy >
  7.             <fileNamePattern>${log.base}/dolphinscheduler-api.%d{yyyy-MM-dd_HH}.%i.log</fileNamePattern>
  8.             <maxHistory>168</maxHistory>
  9.             <maxFileSize>64MB</maxFileSize>
  10.         </rollingPolicy>
  11.         <encoder>
  12.             <pattern>
  13.                 [%level] %date{yyyy-MM-dd HH:mm:ss.SSS} %logger{96}:[%line] - %msg%n
  14.             </pattern>
  15.             <charset>UTF-8</charset>
  16.         </encoder>
复制代码
这段配置是 Apache DolphinScheduler 的 API 服务器日志的 Logback 配置。
Logback 是一个流行的 Java 日志框架,用于配置日志记录器。
这段配置定义了一个名为 APILOGFILE 的 RollingFileAppender,它将日志信息追加到一个滚动的文件中。
以下是配置的详细解释:

  • :指定日志文件的存放路径和文件名。${log.base} 是一个变量,表示日志文件的基础目录,它的值通常在配置文件的其他部分定义。
  • :设置一个过滤器,只记录 INFO 级别及以上的日志。
  • :定义了滚动策略,即何时创建新的日志文件。这里使用的是 SizeAndTimeBasedRollingPolicy,它基于文件大小和时间来滚动日志。

    • :定义了滚动日志文件的命名模式,%d{yyyy-MM-dd_HH} 表示文件名中包含日期和小时,%i 表示文件的索引号(根据文件大小)。
    • :定义了要保留的日志文件的最大天数。这里设置为 168 天,超过这个时间的日志文件将被删除。
    • :定义了单个日志文件的最大大小,这里设置为 64MB。

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

    • :定义了日志的格式,包括日志级别、日期、日志记录器的名称、行号和日志消息。
    • :设置日志文件的字符编码为 UTF-8。

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

  • 修改日志保留时间:如果你想要保留更长时间的日志,可以增加  的值。例如,要保留 30 天的日志,可以将其设置为 30。
  • 修改日志文件大小:如果你想要日志文件在达到特定大小时滚动,可以修改  的值。例如,要将每个日志文件的大小限制为 128MB,可以将其设置为 128MB。
  • 修改日志格式:如果你想要改变日志的格式,可以修改  中的内容。
  • 定时清理日志:Logback 配置本身不负责日志的定时清理。你需要使用操作系统的定时任务(如 Linux 的 cron 作业)来定期删除旧的日志文件。例如,你可以编写一个脚本,使用 find 命令查找并删除超出保留期限的日志文件,并将其设置为定时运行。
请注意,修改配置文件后,需要重启 Apache DolphinScheduler 的对应服务以使更改生效,本文完!
本文由 白鲸开源 提供发布支持!

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册