Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Dấu hiệu
Biến tuỳ chỉnh được tạo bằng chính sách StatisticsCollector sẽ không xuất hiện trong mục Phương diện tuỳ chỉnh trong Báo cáo tuỳ chỉnh của Analytics trong giao diện người dùng Edge.
Thông báo lỗi
Không thấy lỗi nào.
Các nguyên nhân có thể
Bảng sau đây liệt kê những nguyên nhân có thể gây ra vấn đề 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 Private Cloud và Public Cloud |
| Không có lưu lượng truy cập trên API Proxy triển khai chính sách StatisticsCollector | Người dùng Edge Private Cloud và Public Cloud |
| Biến tuỳ chỉnh không được chuyển đến Máy chủ Postgres | Người dùng Edge Private Cloud |
Nhấp vào một đường liên kết trong bảng để xem các giải pháp có thể cho nguyên nhân đó.
Biến tuỳ 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 StatisticsCollector không tuân thủ các nguyên tắc tiêu chuẩn (xem phần Giải pháp), thì tên đó sẽ không xuất hiện trong Báo cáo tuỳ chỉnh.
Đoạn mã dưới đây cho thấy tên biến "product id" có dấu cách, vì vậy, tên biến này sẽ không xuất hiện trong Phương diện tuỳ chỉnh của Báo cáo tùy 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 StatisticsCollector 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 ở trên, bạn nên đổi tên biến thành "product_id".
- Không phân biệt chữ hoa và chữ thường.
- Bạn không được phép dùng các từ khoá dành riêng được liệt kê trong bảng tại đường liên kết sau. 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 vấn đề vẫn tiếp diễn, hãy chuyển sang phần Không có lưu lượng truy cập trên API Proxy triển khai chính sách StatisticsCollector.
Không có lưu lượng truy cập trên API Proxy triển khai chính sách StatisticsCollector
Chẩn đoán
Nếu không có lưu lượng truy cập trên proxy API triển khai chính sách StatisticsCollector, thì biến tuỳ chỉnh sẽ không xuất hiện trong Báo cáo tuỳ chỉnh.
Độ phân giải
Thực hiện một số lệnh gọi đến proxy API triển khai chính sách StatisticsCollector.
Chờ một lúc rồi kiểm tra xem(các) biến tuỳ chỉnh có xuất hiện trong phương diện tuỳ chỉnh trong Báo cáo tùy chỉnh hay không.
Nếu vấn đề vẫn tiếp diễn, hãy chuyển sang phần Biến tuỳ chỉnh không được đẩy đến Máy chủ Postgres.
Biến tuỳ chỉnh không được chuyển đến Máy chủ Postgres
Chẩn đoán
Khi một biến tuỳ chỉnh được tạo trong API proxy và các lệnh gọi API được thực hiện, biến này sẽ được lưu trữ trong bộ nhớ trên Trình xử lý thông báo. Sau đó, MessageProcessor sẽ gửi thông tin về biến mới đến ZooKeeper. ZooKeeper sẽ gửi thông tin này đến máy chủ Postgres để thêm biến đó làm một cột trong cơ sở dữ liệu Postgres.
Đôi khi, thông báo từ ZooKeeper có thể không đến được máy chủ Postgres do sự cố mạng. Do lỗi này, biến tuỳ chỉnh có thể không xuất hiện trong Báo cáo tùy chỉnh.
Cách xác định vị trí thiếu biến tuỳ chỉnh:
- Tạo cây ZooKeeper bằng lệnh sau:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
- Tìm biến tuỳ chỉnh trong đầu ra cây ZooKeeper.
- Nếu biến tuỳ chỉnh tồn tại trong cây ZooKeeper, hãy thực thi các lệnh sau để kiểm tra xem biến tuỳ chỉnh có được thêm vào cơ sở dữ liệu Postgres hay không:
- Trên nút Postgres, hãy đăng nhập vào PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- 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';
- Trên nút Postgres, hãy đăng nhập vào PostgreSQL:
- Rất có thể bạn sẽ thấy cột biến tuỳ chỉnh bị thiếu trong bảng dữ liệu thực tế. Đây là lý do khiến cột này không xuất hiện trong Phương diện tuỳ chỉnh.
Độ phân giải
Giải pháp 1: Khởi động lại máy chủ Postgres
- Khởi động lại Máy chủ Postgres để buộc máy chủ này đọc tất cả thông tin liên quan đến Analytics từ Zookeeper:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
Nếu vấn đề vẫn tiếp diễn, hãy áp dụng Giải pháp 2.
Giải pháp 2: Bật thuộc tính forceonboard
Bật thuộc tính forceonboard bằng cách làm theo các bước bên dưới:
- Tạo tệp
/opt/apigee/customer/application/postgres-server.propertiestrên máy chủ Postgres nếu chưa có. - Thêm dòng sau vào tệp này:
conf_pg-agent_forceonboard=true
- Đảm bảo Apigee sở hữu tệp này bằng cách sử dụng lệnh sau:
chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
- Khởi động lại máy chủ Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- 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ả các máy chủ Postgres.
- Huỷ triển khai và triển khai API proxy sử dụng chính sách StatisticsCollector.
- Chạy các lệnh gọi API.
- Kiểm tra xem(các) biến tuỳ chỉnh có xuất hiện trong phương diện tuỳ chỉnh trong Báo cáo tuỳ chỉnh hay không.
Nếu vấn đề vẫn tiếp diễn, hãy liên hệ với Nhóm hỗ trợ Apigee Edge.