Biến tuỳ chỉnh không hiển thị cho báo cáo tuỳ chỉnh của Analytics

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến Tài liệu về Apigee X.
thông tin

Triệu chứng

Biến tùy chỉnh được tạo bằng Chính sách về Thu thập thống kê không hiển thị trong mục Phương diện tuỳ chỉnh của Báo cáo tuỳ chỉnh Analytics trên giao diện người dùng Edge.

Thông báo lỗi

Không quan sát thấy lỗi nào.

Các nguyên nhân có thể

Bảng sau đây liệt kê các nguyên nhân có thể gây ra sự cố này:

Nguyên nhân Cho
Biến tuỳ chỉnh không tuân thủ các nguyên tắc tiêu chuẩn Người dùng Edge riêng tư và Cloud Cloud
Không có lưu lượng truy cập trên Proxy API do triển khai chính sách Thu thập dữ liệu (Thống kê) Người dùng Edge riêng tư và Cloud Cloud
Biến tuỳ chỉnh không được đẩy đến Máy chủ Postgres Người dùng Edge Private Cloud

Nhấp vào một liên kết trong bảng để xem các giải pháp khả thi cho nguyên nhân đó.

Biến tùy chỉnh không tuân thủ các nguyên tắc tiêu chuẩn

Chẩn đoán

Nếu tên biến tuỳ chỉnh được dùng trong chính sách Thu thập thông tin thống kê không tuân thủ các nguyên tắc chuẩn (xem ), thì mục tiêu đó sẽ không xuất hiện trong Báo cáo tuỳ chỉnh.

Đoạn mã dưới đây cho biết tên biến "product id" có không gian, để nó không xuất hiện trong Phương diện tuỳ chỉnh trong Báo cáo tuỳ chỉnh.

  <StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
      <Statistic name="productID" ref="product id" type="string">999999</Statistic>
    </Statistics>
  </StatisticsCollector>

Độ phân giải

Tên biến tuỳ chỉnh được dùng trong chính sách Thu thập thông tin trong API proxy phải tuân thủ các nguyên tắc sau:

  • Tên có thể bao gồm [a-z][0-9] và '_'.
  • Tên không được chứa dấu cách. Ví dụ: trong mã mẫu nêu trên, tên biến cần được thay đổi thành "product_id".
  • Trường hợp bị bỏ qua.
  • Các từ khoá dành riêng được liệt kê trong bảng tại liên kết sau không được phép. Ví dụ: "người dùng" không được phép. Để biết thêm thông tin, hãy xem Từ khoá SQL.

Nếu sự cố vẫn tiếp diễn, hãy chuyển sang Không có lưu lượng truy cập trên Proxy API khi triển khai chính sách Thu thập thông tin thống kê.

Không có lưu lượng truy cập trên Proxy API do triển khai chính sách Thu thập dữ liệu

Chẩn đoán

Nếu không có lưu lượng truy cập trên proxy API đang triển khai đây Statistics Collector thì biến tùy chỉnh đó sẽ không xuất hiện trong Báo cáo tùy chỉnh.

Độ phân giải

Thực hiện một số lệnh gọi đến proxy API triển khai đây Thu thập dữ liệu .

Hãy đợi một thời gian và kiểm tra xem(các) biến tuỳ chỉnh đó có xuất hiện trong các phương diện tuỳ chỉnh trong Báo cáo tuỳ chỉnh.

Nếu vấn đề vẫn tiếp diễn, hãy chuyển sang phần Biến tuỳ chỉnh chưa được đẩy đến Máy chủ Postgres.

Biến tuỳ chỉnh chưa được đẩy đến Máy chủ Postgres

Chẩn đoán

Khi một biến tuỳ chỉnh được tạo trong proxy API và lệnh gọi API được thực hiện, thì giá trị trước tiên sẽ được lưu trữ trong bộ nhớ trên Trình xử lý thông báo. Thông điệp Sau đó, Bộ xử lý gửi thông tin về biến mới đến ZooKeeper. lần lượt gửi tệp này đến máy chủ Postgres để thêm tệp đó dưới dạng cột trong Postgres cơ sở dữ liệu.

Đôi khi, thông báo từ ZooKeeper có thể không đến được máy chủ Postgres do mạng vấn đề. Do lỗi này, biến tuỳ chỉnh có thể không xuất hiện trong Báo cáo tuỳ chỉnh.

Cách xác định trường hợp biến tuỳ chỉnh bị thiếu:

  1. Tạo cây ZooKeeper bằng lệnh sau:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
  2. Tìm kiếm biến tuỳ chỉnh trong kết quả của cây ZooKeeper.
  3. Nếu biến tuỳ chỉnh tồn tại trong cây ZooKeeper, hãy thực thi lệnh các lệnh sau để kiểm tra xem biến tuỳ chỉnh có được thêm vào Postgres hay không cơ sở dữ liệu:
    1. Trên nút Postgres, hãy đăng nhập vào PostgreSQL:
      psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
    2. Chạy truy vấn SQL sau:
      select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS
        where table_name = 'orgname.envname.fact';
  4. Bạn rất có thể sẽ thấy cột biến tuỳ chỉnh sẽ bị thiếu trong bảng thực tế, lý do khiến nó không xuất hiện trong Phương diện tùy chỉnh.

Độ phân giải

Giải pháp số 1: Khởi động lại máy chủ Postgres

  1. Khởi động lại máy chủ Postgres để buộc máy chủ đọc tất cả thông tin liên quan đến Số liệu phân tích từ Zookeeper:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

    Nếu sự cố vẫn tiếp diễn, hãy áp dụng Giải pháp số 2.

Giải pháp số 2: Bật forceonboard thuộc tính

Bật thuộc tính forceonboard bằng cách làm theo các bước dưới đây:

  1. Tạo tệp /opt/apigee/customer/application/postgres-server.properties trên máy chủ Postgres nếu chưa có.
  2. Thêm dòng sau vào tệp này:
    conf_pg-agent_forceonboard=true
  3. Đảm bảo tệp này thuộc sở hữu của Apigee bằng cách sử dụng lệnh sau:
    chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
  4. Khởi động lại máy chủ Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  5. Nếu bạn có nhiều máy chủ Postgres, hãy lặp lại các bước trên cho tất cả Máy chủ Postgres.
  6. Huỷ triển khai và triển khai proxy API sử dụng đây Collector .
  7. Chạy các lệnh gọi API.
  8. Kiểm tra xem(các) biến tuỳ chỉnh có xuất hiện trong các phương diện tuỳ chỉnh trong báo cáo Tùy chỉnh hay không Báo cáo.

Nếu sự cố vẫn tiếp diễn, hãy liên hệ với Bộ phận hỗ trợ Apigee Edge.