啟用 Edge-message-processor.log 的記錄檔輪替功能

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

記錄輪替:輪替多個記錄檔的登入與停用程序,簡化產生大量記錄檔的系統管理作業。記錄檔輪替功能可啟用記錄檔的自動輪替、壓縮、移除和郵寄功能。

在 Edge for Private Cloud 中,每個 apigee 元件的部分主要記錄檔已設為採用預設輪替機制。舉例來說,在訊息處理器元件中,下列檔案使用 logback 設定預設旋轉機制:

  • /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-serveredge-routeredge-postgres-serveredge-qpid-server

這些 edge-* 元件也都會產生額外的記錄檔,系統會將該檔案重新導向個別元件的控制台輸出內容。以訊息處理器元件來說,這個檔案稱為 /opt/apigee/var/log/edge-message-processor/edge-message-processor.log。其他 edge-* 元件會產生類似的檔案。這些檔案不會由 Logback 程式庫完成輪替,而是使用 logrotatecrontab

事前準備

啟用記錄檔輪替功能

這個專區適用於 Edge for Private Cloud 4.50.00 和 4.51.00 版。

記錄輪替機制可讓您輕鬆管理產生大量記錄檔的系統。可讓您自動輪替、壓縮、移除及郵寄記錄檔。

根據預設,每個 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

不過,apigee 元件中的其他記錄檔並未設定預設輪替功能。舉例來說,根據預設,apigee 元件訊息處理器檔案 edge-message-processor.log 不會設定記錄輪替。

您可以使用不同公用程式/架構 (例如 logrotatelogbacklog4j) 啟用記錄輪替。本節說明如何使用 logrotatecrontab 設定 /opt/apigee/var/log/edge-message-processor/edge-message-processor.log 檔案的記錄檔輪替。

啟用訊息處理器的 Edge-message-processor.log 記錄檔輪替功能

本節說明如何在邊緣訊息處理器上啟用 /opt/apigee/var/log/edge-message- processor/edge-message-processor.log 記錄的輪替功能。

下列步驟說明如何為 edge-message-processor.log 檔案啟用記錄檔輪替功能:

  1. 在編輯器中,開啟訊息處理器機器上的 /opt/apigee/edge-message-processor/logrotate/logrotate.conf 檔案。如果檔案不存在,請建立檔案。 例如:
    vi /opt/apigee/edge-message-processor/logrotate/logrotate.conf
    
  2. 在檔案中加入類似下圖的程式碼片段:
    /opt/apigee/var/log/edge-message-processor/edge-message-processor.log {
        missingok
        copytruncate
        rotate 5
        size 10M
        compress
        delaycompress
        notifempty
        nocreate
        sharedscripts
        }
    
  3. 儲存變更。
  4. 使用以下指令開啟 apigee 使用者的 crontab
    sudo crontab -u apigee -e
    
  5. 將下列 Cron 工作新增至 apigee 使用者的 crontab
    0 0 * * * nice -n 19 ionice -c3 /usr/sbin/logrotate -s /opt/apigee/var/run/edge-message-processor/logrotate.status -f /opt/apigee/edge-message-processor/logrotate/logrotate.conf
    
  6. 儲存 crontab,並在下次執行 Cron 工作時監控記錄輪替。

驗證訊息處理器上的 Edge-message-processor.log 記錄輪替

  1. 排定的 Cron 工作執行後,記錄檔就會輪替。在上述範例中,已安排在每天上午 00:00 執行 Cron 工作,以輪替 edge-message- processor.log 檔案。
  2. 前往 /opt/apigee/var/log/edge-message-processor/ 目錄,並確認 edge-message-processor.log 檔案已旋轉。

    記錄檔清單範例

    ls -ltrh | grep 'edge-message-processor'
    
    -rw-r--r--. 1 apigee apigee  17K Feb  7 00:00 edge-message-processor.log.1.gz
    -rw-r--r--. 1 apigee apigee 5.3K Feb  7 09:12 edge-message-processor.log
    

    上方的輸出內容表示 edge-message-processor.log 檔案會旋轉並儲存為 GZ 檔案。

  3. 如果系統並未輪替 edge-message-processor.log 檔案,請確認您已按照 為訊息處理器啟用 Edge-message-processor.log 的記錄輪替功能一文所述的所有步驟進行操作。如果您錯過任何步驟,請再次正確重複所有步驟。
  4. 如果還是無法讓記錄輪替功能正常運作,請與 Apigee Edge 支援團隊聯絡。