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

您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

記錄輪替是指輪替使用多個記錄檔的程序,可簡化產生大量記錄檔的系統管理作業。記錄輪替功能可自動輪替、壓縮、移除及傳送記錄檔。

在 Private Cloud 專用 Edge 中,每個 apigee 元件上的一些主要記錄檔都會使用預設輪替機制進行設定。舉例來說,在 Message Processor 元件上,下列檔案會使用 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 啟用記錄輪替功能

本節說明如何為 Edge Message Processor 上的 /opt/apigee/var/log/edge-message- processor/edge-message-processor.log 記錄啟用記錄輪替功能。

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

  1. 在編輯器中開啟 Message Processor 機器上的 /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 工作執行後,系統就會輪替記錄檔。在上述範例中,Cron 工作會排定每天凌晨 00:00 執行,以便輪替 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 支援團隊聯絡。