Bật tính năng xoay nhật ký cho các thành phần Edge

Xoay vòng nhật ký (quy trình xoay vòng nhiều tệp nhật ký vào và ngừng sử dụng) đơn giản hoá việc quản trị những hệ thống tạo số lượng lớn tệp nhật ký. Xoay nhật ký cho phép tự động xoay, nén, xoá và gửi tệp nhật ký qua thư.

Trong Edge dành cho Cloud riêng tư, một số tệp nhật ký chính trên mỗi apigee thành phần được định cấu hình với cơ chế xoay mặc định. Ví dụ: trên trang thành phần Trình xử lý thư, các tệp sau đây được định cấu hình với chế độ xoay mặc định cơ chế sử dụng đăng nhập:

  • /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

Các tệp tương tự tồn tại cho các thành phần edge-* khác (có tên bắt đầu bằng edge-), chẳng hạn như edge-management-server, edge-router, edge-postgres-serveredge-qpid-server.

Mỗi thành phần edge-* này cũng tạo ra một tệp nhật ký bổ sung là tệp chuyển hướng của bảng điều khiển của thành phần tương ứng. Trong trường hợp thành phần Trình xử lý thư, tệp này có tên là /opt/apigee/var/log/edge-message-processor/edge-message-processor.log. Các thành phần edge-* khác cũng tạo một tệp tương tự. Các tệp này không thực hiện việc xoay thư viện đăng nhập mà dùng logrotatecrontab.

Trước khi bắt đầu

Bật tính năng xoay vòng nhật ký

Bắt đầu từ Edge dành cho Cloud riêng tư phiên bản 4.52, khi bạn cài đặt một edge-* thành phần, một mục nhập crontab cho việc xoay nhật ký này sẽ được tạo tự động trong crontab của người dùng apigee. Công việc định kỳ này chạy mỗi giờ theo mặc định và sử dụng tiện ích logrotate để xoay vòng nhật ký. Nếu có nhiều edge-* các thành phần được cài đặt trên cùng một nút (ví dụ: trong quy trình cài đặt tất cả trong một hoặc nếu bộ định tuyến và bộ xử lý thông báo được cài đặt trên một nút), mỗi thành phần sẽ có mục nhập cron riêng cho xoay nhật ký tương ứng.

Lưu ý:

  • Nếu trong quá trình cài đặt thành phần edge-*, bạn không nên tự động thiết lập một logrotate cronjob, hãy đặt cờ “ENABLE_LOGROTATE=n” trong tệp cấu hình im lặng mà bạn sử dụng để cài đặt. Nếu lệnh cron không được thiết lập trong quá trình cài đặt, bạn có thể thiết lập bằng cách làm theo các bước để bật cron logrotate của một thành phần.
  • Đối với thành phần edge-router, một công việc cron logrotate bổ sung là cũng được định cấu hình theo mặc định. Cron này xoay vòng nhật ký truy cập và nhật ký lỗi do Nginx tạo.

Các ví dụ sau minh hoạ nhiều cấu hình và hoạt động quản trị mà bạn có thể thực hiện.

Xem các mục nhập cron trên một nút

sudo crontab -u apigee -l

Xem mục nhập cron logrotate của một thành phần

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s

Ví dụ: để xem cron logrotate của Edge-message-processor, hãy chạy mã:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s

Xem thành phần Cấu hình logrotate

Bạn có thể tìm thấy cấu hình logrotate của một thành phần trong tệp này $APIGEE_ROOT/<component>/logrotate/logrotate.conf Ví dụ: trong trường hợp của Edge-message-processor, cấu hình logrotate của nút có thể là được tìm thấy trong $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf.

Bật cron logrotate của một thành phần

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

Ví dụ: để bật cron logrotate của Edge-message-processor, hãy chạy mã:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

Tắt cron logrotate của một thành phần

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d

Ví dụ: để tắt cron logrotate của Edge-message-processor, hãy chạy mã:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d

Thay đổi lịch biểu cron của một lệnh logrotate cụ thể

Trên nút mà bạn muốn thay đổi lịch biểu cron logrotate, hãy mở tệp ghi đè cấu hình của thành phần. Các tệp ghi đè cấu hình của thành phần edge-* được liệt kê trong bảng dưới đây:

Thành phần Tệp ghi đè cấu hình
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

Mở tệp ghi đè thích hợp và đặt chế độ ghi đè cấu hình sau. Ví dụ bên dưới ghi đè công việc cron để chạy ở phút thứ 0 mỗi giờ.

conf_logrotate_cron_duration=0 * * * *

Cách đặt chế độ ghi đè cấu hình:

  1. Đảm bảo người dùng apigee có thể đọc được tệp.
  2. Áp dụng lịch biểu cron mới hơn cho thành phần:
    $APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

Ví dụ: để áp dụng lịch biểu cron mới hơn cho logrotate của Edge-message-processor, hãy nhập:

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

Để xác minh những thay đổi đã được áp dụng, hãy kiểm tra các mục nhập cron hoặc các thuộc tính của thành phần khung hiển thị Mục nhập cron logrotate.

Cấu hình logrotate bổ sung

Tương tự như các bước được liệt kê trong phần trên để sửa đổi lịch biểu cron, bạn có thể cũng có thể sửa đổi các cấu hình bổ sung. Bảng dưới đây mô tả các cấu hình này:

Cấu hình Mô tả
conf_logrotate_bin_location Vị trí của tệp nhị phân ghi nhật ký. Mặc định: /usr/sbin/logrotate
conf_logrotate_status_file Tệp trạng thái ghi lại trạng thái thời gian chạy của logrotate – chương trình có quyền đọc/ghi cho apigee người dùng. Mặc định: $APIGEE_ROOT/var/run/<component>/logrotate.status
conf_logrotate_logs Nhật ký nào cần xoay. Có thể dùng ký tự đại diện. Mặc định: $APIGEE_ROOT/var/log/<component>/<component>.log
conf_logrotate_rotate Số vòng xoay. Mặc định: "5"
conf_logrotate_compress Liệu có nén các tệp xoay hay không. Mặc định: "compress"
conf_logrotate_compress_type Loại nén. Mặc định: "delaycompress". Hoãn nén tệp xoay mới nhất sang chu kỳ nhật ký tiếp theo.
conf_logrotate_size Ghi nhật ký giới hạn kích thước xoay. Mặc định: "10 triệu"

Sử dụng cơ chế xoay vòng nhật ký và cron của riêng bạn

Nếu cấu hình không đáp ứng các yêu cầu về việc xoay <component>.log của bạn do Apigee cung cấp, bạn sử dụng cơ chế xoay vòng nhật ký của riêng mình bằng các công cụ như nhật ký xoay vòng. hoặc các nguồn khác. Ví dụ: cấu hình do Apigee cung cấp cho phép bạn xoay nhật ký theo kích thước, nhưng mà bạn muốn xoay vòng nhật ký dựa trên ngày/giờ hoặc các yếu tố khác. Trong những trường hợp như vậy, bạn nên vô hiệu hoá cron logrotate do Apigee cung cấp và thiết lập các cron của riêng bạn nếu cần.

Nếu cần tham khảo mục nhập cron xoay nhật ký của Apigee, bạn có thể tìm thấy mục này trong tệp $APIGEE_ROOT//logrotate/logrotate.cron. Ví dụ: trong trường hợp edge-message-processor, tệp này có tên là $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron Tệp này bao gồm cả mục nhập cron và lệnh do Apigee thực thi để xoay vòng nhật ký. Nếu bạn muốn sử dụng logrotate nhưng không muốn dùng cấu hình của Apigee, bạn có thể tạo của riêng logrotate tệp cấu hình rồi sử dụng lệnh logrotate tương tự để thực hiện xoay vòng nhật ký.