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ư 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 Trình 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 lên dữ liệu vào Google Cloud BigQuery. Sau đó, bạn có thể tận dụng truy vấn và công nghệ học máy mạnh mẽ các chức năng do BigQuery và TensorFlow cung cấp để phân tích dữ liệu của riêng bạn.

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 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 đĩa, các tệp đó đượ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, cách nhau một phút. Định dạng 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 có 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 sẽ di chuyển thư mục và tệp .gz trong đó từ /tmp vào một trong hai thư mục sau, dựa trên chế độ cài đặt của uploadToCloud Thuộc tính cấu hình Trình xử lý thư:

  • 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 Trình 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 sau là không bắt buộc:

Thuộc tính Mô tả
conf_analytics_analytics.saveToDisk

Đặt thành true để định cấu hình Trình xử lý thư nhằm ghi dữ liệu phân tích vào tệp ổ đĩ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ư 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ở mà tệp dữ liệu phân tích được ghi.

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 Analytics.

Giá trị mặc định là 3072. Nếu bạn vượt quá dung lượng ổ đĩa được phân bổ cho tệp dữ liệu phân tích, Trình xử lý thư ngừng lưu dữ liệu phân tích và viết 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 tệp phân tích.

  • false: tệp đã được di chuyển sang /opt/apigee/var/log/edge-message-processor/ax/staging
  • true (mặc định): các tệp được di chuyển 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 không có dữ liệu nào được tải lên đám mây. Tất cả dữ liệu phân tích vẫn được lưu trữ cục bộ đối với 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 rằng tệp thuộc tính thuộc sở hữu của "apigee" người dùng:

    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 thuộc tính axgroup-001 nhóm số liệu phân tích:

    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 Analytics là axgroup-001. Trong tệp cấu hình cho một Khi cài đặt Edge, bạn có thể đặt tên cho nhóm Analytics 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 Máy chủ quản lý để hiển thị nút đó:

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

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

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

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

    Sau khi khởi động lại, Trình xử lý thư 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 đối với tất cả Trình xử lý thư.