Ghi dữ liệu phân tích vào tệp

Theo mặc định, dữ liệu phân tích do Trình xử lý thông báo thu thập sẽ được tải lên Qpid và Postgres để xử lý. Sau đó, bạn có thể xem dữ liệu phân tích trong giao diện người dùng Edge.

Ngoài ra, bạn có thể định cấu hình Bộ xử lý thư để ghi dữ liệu phân tích vào ổ đĩa. Sau đó, bạn có thể tải dữ liệu đó lên hệ thống phân tích của riêng mình để phân tích. Ví dụ: bạn có thể tải dữ liệu lên Google Cloud BigQuery. Sau đó, bạn có thể tận dụng các khả năng truy vấn và học máy mạnh mẽ do BigQuery và TensorFlow cung cấp để tự phân tích dữ liệu.

Bạn cũng có thể chọn sử dụng cả hai lựa chọn. Điều đó có nghĩa là bạn có thể tải dữ liệu phân tích lên Qpid/Postgres và cũng có thể lưu dữ liệu đó vào ổ đĩa.

Tên tệp và vị trí

Theo mặc định, nếu bạn cho phép ghi dữ liệu phân tích vào tệp trên đĩa, thì các tệp sẽ được ghi vào thư mục sau:

/opt/apigee/var/log/edge-message-processor/ax/tmp

Edge tạo một thư mục mới trong /tmp cho các tệp dữ liệu, với tần suất mỗi phút một lần. Định dạng của tên thư mục là:

org~env~yyyyMMddhhmmss

Ví dụ:

myorg~prod~20190909163500
myorg~prod~20190909163600

Mỗi thư mục chứa một tệp .gz với các tệp dữ liệu riêng lẻ cho khoảng thời gian đó. Định dạng của tên tệp .gz là:

4DigitRandomHex_StartTime.StartTimePlusInterval_internalHostIP_hostUUID_writer_index.txt.gz

Theo định kỳ, Edge di chuyển thư mục và tệp .gz chứa thư mục này từ /tmp sang một trong các thư mục sau, dựa trên chế độ cài đặt của thuộc tính cấu hình Trình xử lý thông báo uploadToCloud:

  • uploadToCloud = false: các tệp đã được di chuyển sang /opt/apigee/var/log/edge-message-processor/ax/staging
  • uploadToCloud = true: (mặc định): tệp di chuyển sang /opt/apigee/var/log/edge-message-processor/ax/failed

Giải nén dữ liệu từ thư mục /staging hoặc /failed để lấy các tệp dữ liệu phân tích.

Thuộc tính cấu hình

Sử dụng các thuộc tính sau để định cấu hình Bộ xử lý thông báo nhằm ghi dữ liệu phân tích vào ổ đĩa. Tất cả các thuộc tính này là không bắt buộc:

Tài sản Nội dung mô tả
conf_analytics_analytics.saveToDisk

Đặt thành true để định cấu hình Bộ xử lý thông báo nhằm ghi dữ liệu phân tích vào tệp trên ổ đĩa.

Giá trị mặc định là false.

conf_analytics_analytics.sendToQueue

Đặt thành true để định cấu hình Trình xử lý thông báo, tải dữ liệu lên Qpid/Postgres. Đặt thành false để tắt tính năng ghi dữ liệu phân tích vào Qpid/Postgres.

Giá trị mặc định là true.

conf_analytics_analytics.baseDataDirectoryPath

Chỉ định đường dẫn cơ sở nơi ghi tệp dữ liệu phân tích.

Giá trị mặc định là /opt/apigee/var/log/edge-message-processor/ax.

conf_analytics_analytics.allocatedDiskSpaceInMBytes

Chỉ định dung lượng ổ đĩa, tính bằng megabyte, được phân bổ cho các tệp phân tích.

Giá trị mặc định là 3072. Nếu bạn vượt quá dung lượng ổ đĩa được phân bổ cho các tệp dữ liệu phân tích, thì Trình xử lý thông báo sẽ ngừng lưu dữ liệu phân tích và ghi thông báo lỗi vào tệp nhật ký.

conf_analytics_analytics.uploadToCloud

Kiểm soát vị trí cuối cùng của các tệp phân tích.

  • false: tệp đã được chuyển vào /opt/apigee/var/log/edge-message-processor/ax/staging
  • true (mặc định): di chuyển tệp sang /opt/apigee/var/log/edge-message-processor/ax/failed

Lưu ý: Mặc dù thuộc tính này được gọi là uploadToCloud, nhưng dữ liệu sẽ không được tải lên đám mây. Tất cả dữ liệu phân tích vẫn nằm trong bản cài đặt của bạn.

Cách đặt các thuộc tính này:

  1. Mở tệp message-processor.properties trong trình chỉnh sửa. Nếu tệp không tồn tại, hãy tạo tệp:

    vi /opt/apigee/customer/application/message-processor.properties
  2. Đặt các thuộc tính như mong muốn:

    # Enable writing analytics data to disk.
    conf_analytics_analytics.saveToDisk=true
    # Disable writing analytics data to Qpid/Postgres.
    conf_analytics_analytics.sendToQueue=false
    
    # Specify base directory for analytics data files.
    conf_analytics_analytics.baseDataDirectoryPath=/opt/apigee/var/smg
    
    # Set the disk space available for analytics files.
    conf_analytics_analytics.allocatedDiskSpaceInMBytes=3072
    # Move final analytics data to files to the /staging directory.
    conf_analytics_analytics.uploadToCloud=false
  3. Lưu các thay đổi.
  4. Đảm bảo tệp thuộc tính thuộc sở hữu của người dùng "apigee":

    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  5. Đặt giá trị của thuộc tính consumer-type thành ax cho nhóm phân tích axgroup-001:

    curl -X POST -H "Content-Type:application/json" \
    "http://ms-ip:8080/v1/analytics/groups/ax/axgroup-001/properties?propName=consumer-type&propValue=ax" \
    -u sysAdminEmail:sysAdminPWord

    Theo mặc định, tên của nhóm phân tích là axgroup-001. Trong tệp cấu hình để cài đặt Edge, bạn có thể đặt tên của nhóm phân tích bằng cách sử dụng thuộc tính AXGROUP. Nếu bạn không chắc chắn về tên của nhóm phân tích, hãy chạy lệnh sau trên nút Máy chủ quản lý để hiển thị nhóm này:

    apigee-adminapi.sh analytics groups list \
      --admin sysAdminEmail --pwd sysAdminPword --host localhost

    Lệnh này trả về tên nhóm phân tích trong trường name.

  6. Khởi động lại Bộ xử lý thư:

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

    Sau khi khởi động lại, Bộ xử lý thông báo sẽ ghi dữ liệu phân tích vào các tệp dữ liệu.

  7. Lặp lại các bước này cho tất cả Bộ xử lý thư.