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

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

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

在 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-* 元件也會產生額外的記錄檔,這是相應元件控制台的重新導向輸出內容。如果是 Message Processor 元件,這個檔案稱為 /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 元件的 Message Processor 檔案 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. 在編輯器中開啟 訊息處理器 電腦上的 /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. apigee 使用者的 crontab 中新增下列 cron 工作:
    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 支援團隊聯絡。