記錄輪替 (旋轉和不使用多個記錄檔的過程), 簡化系統管理 會產生大量記錄檔使用記錄檔旋轉功能,即可自動旋轉、壓縮 移除和郵寄記錄檔。
在 Edge for Private Cloud 中,各個apigee
的主要記錄檔
元件已設定預設的旋轉機制。舉例來說
訊息處理器元件,下列檔案採用預設旋轉角度設定
與邏輯機制互動
/opt/apigee/var/log/edge-message-processor/logs/system.log
/opt/apigee/var/log/edge-message-processor/logs/events.log
/opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
/opt/apigee/var/log/edge-message-processor/logs/configurations.log
/opt/apigee/var/log/edge-message-processor/logs/transactions.log
其他 edge-*
元件 (名稱) 已有類似的檔案
開頭是 edge-
),例如 edge-management-server
edge-router
、edge-postgres-server
和edge-qpid-server
。
edge-*
元件都會產生一個額外的記錄檔,並將重新導向
顯示個別元件控制台的輸出內容就「訊息處理者」元件來說
這個檔案的名稱為 /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
。
其他 edge-*
元件會產生類似的檔案。這些檔案的這並非旋轉工作的方式
回呼程式庫,而是使用 logrotate
和 crontab
。
事前準備
- 如果您不熟悉
logrotate
設定,請參閱 logrotate 手冊。 - 如果您不熟悉
crontab
設定,請參閱 Crontab 手冊。
啟用記錄輪替
從 Private Cloud 4.52 版開始,安裝 edge-*
那麼 crontab
項目
輪替這項記錄會自動在「apigee
」使用者的crontab
中建立。這項 Cron 工作會在每次
,並使用 logrotate
公用程式輪替記錄。如果有多個edge-*
元件會安裝在同一個節點上 (例如,在全方位安裝中,
路由器和訊息處理器會安裝在單一節點上,則每個元件都會有自己的
輪替各自的記錄檔
注意:
- 如果在安裝
edge-*
元件時,您 自動設定logrotate
CronJob,請在您使用的靜音設定檔中,將標記設為「ENABLE_LOGROTATE=n」 安裝。如果在安裝期間並未設定 Cron 工作,則可進行設定 再按照下列步驟 啟用元件的logrotate
Cron。 - 針對元件
edge-router
,要有額外的logrotate
Cron 工作是 預設也會變更這個 Cron 會輪替由 Nginx 產生的存取和錯誤記錄。
下列範例說明各種設定和管理作業 可以執行的操作
查看節點上的 Cron 項目
sudo crontab -u apigee -l
查看元件的 logrotate
Cron 項目
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s
舉例來說,如要查看 Edge-message-processor 的 logrotate
Cron,請執行:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
查看元件logrotate
設定
您可以在檔案中找到元件的 logrotate
設定
$APIGEE_ROOT/<component>/logrotate/logrotate.conf
。
舉例來說,如果是 Edge-message-processor,節點的 logrotate
設定可
在 $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf
中找到。
啟用元件的 logrotate
Cron
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
舉例來說,如要啟用 Edge-message-processor 的 logrotate
Cron,請執行以下指令:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
停用元件的 logrotate
Cron
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d
舉例來說,如要停用 Edge-message-processor 的 logrotate
Cron,請執行:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d
變更特定 logrotate
指令的 Cron 排程
在要變更 logrotate
Cron 排程的節點上,開啟對應的
元件設定覆寫檔案edge-*
元件的設定覆寫檔案
都列於下表:
元件 | 設定覆寫檔案 |
---|---|
edge-message-processor |
$APIGEE_ROOT/customer/application/message-processor.properties |
edge-management-server |
$APIGEE_ROOT/customer/application/management-server.properties |
edge-router |
$APIGEE_ROOT/customer/application/router.properties |
edge-postgres-server |
$APIGEE_ROOT/customer/application/postgres-server.properties |
edge-qpid-server |
$APIGEE_ROOT/customer/application/qpid-serverproperties |
開啟適當的覆寫檔案,然後指定下列設定覆寫值。 以下範例 會覆寫 Cron 工作,使其在每小時第 0 分鐘執行。
conf_logrotate_cron_duration=0 * * * *
如要指定覆寫設定,請按照下列步驟操作:
- 請確認
apigee
使用者可讀取檔案。 - 將新的 Cron 排程套用至元件:
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
舉例來說,如要將較新的 Cron 排程套用至 Edge-message-processor 的 logrotate
,請輸入:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
如要確認變更是否已套用,請檢查 Cron 項目,或檢視元件的
logrotate
Cron 項目。
其他 logrotate
設定
與上一節所述的 Cron 排程修改步驟類似, 並修改其他設定下表說明這些設定:
設定 | 說明 |
---|---|
conf_logrotate_bin_location |
logrotate 二進位檔的位置。預設:/usr/sbin/logrotate |
conf_logrotate_status_file |
擷取 Logrotate 執行階段狀態的狀態檔案 - 節目具備讀取/寫入權限
適用於 apigee 位使用者。預設:$APIGEE_ROOT/var/run/<component>/logrotate.status |
conf_logrotate_logs |
要輪替的記錄。可包含萬用字元。預設:
$APIGEE_ROOT/var/log/<component>/<component>.log
|
conf_logrotate_rotate |
輪替次數。預設值:「5」 |
conf_logrotate_compress |
是否壓縮旋轉的檔案。預設值:「壓縮」 |
conf_logrotate_compress_type |
壓縮類型。預設值:「delaycompress」。延遲壓縮 最新輪替檔案至下一個 Logrotate 週期。 |
conf_logrotate_size |
輪替的記錄大小限制。預設值:「1,000 萬」 |
使用自己的記錄輪替機制和 Cron
如果設定不符合旋轉 <component>.log 的要求
您可以透過 Logrotate 等工具,使用自己的記錄輪替機制
或其他實體。舉例來說,Apigee 提供的設定可讓您按大小輪替記錄檔
希望根據日期/時間或其他因素輪替記錄。此時,您應該
停用 Apigee 提供的 logrotate
Cron 工作,並視需要設定自己的 Cron 工作。
如需查看 Apigee 的記錄檔輪替 Cron 項目,可以在檔案中找到
$APIGEE_ROOT/
。舉例來說
edge-message-processor
,這個檔案稱為
$APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
。這個檔案
包含 Cron 項目和 Apigee 為記錄輪替執行的指令。如果發生以下情況:
不想使用 Apigee 的設定logrotate
,只要建立
擁有 logrotate
設定檔,並使用類似的 logrotate
指令執行記錄輪替。