當 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 日誌框架,用於配置日誌記錄器。
這段配置定義了一個名為 APILOGFILE
的 RollingFileAppender
,它將日誌資訊追加到一個滾動的檔案中。
以下是配置的詳細解釋:
-
<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。
-
要修改配置以調整日誌檔案的滾動策略或清理日誌,你可以調整以下引數:
-
修改日誌保留時間:如果你想要保留更長時間的日誌,可以增加
<maxHistory>
的值。例如,要保留 30 天的日誌,可以將其設定為 30。 -
修改日誌檔案大小:如果你想要日誌檔案在達到特定大小時滾動,可以修改
<maxFileSize>
的值。例如,要將每個日誌檔案的大小限制為 128MB,可以將其設定為128MB
。 -
修改日誌格式:如果你想要改變日誌的格式,可以修改
<pattern>
中的內容。 -
定時清理日誌:Logback 配置本身不負責日誌的定時清理。你需要使用作業系統的定時任務(如 Linux 的
cron
作業)來定期刪除舊的日誌檔案。例如,你可以編寫一個指令碼,使用find
命令查詢並刪除超出保留期限的日誌檔案,並將其設定為定時執行。
請注意,修改配置檔案後,需要重啟 Apache DolphinScheduler 的對應服務以使更改生效,本文完!
本文由 白鯨開源 提供釋出支援!