Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về
Apigee X. info
Dấu hiệu
Biến tuỳ chỉnh được tạo bằng chính sách StatisticsCollector không xuất hiện trong phần Phương diện tuỳ chỉnh trong Báo cáo tùy chỉnh của Analytics trong Giao diện người dùng Edge mới.
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 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 và Public Cloud |
| Không có lưu lượng truy cập trên Proxy API triển khai chính sách StatisticsCollector | Người dùng Edge Private và Public 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 đườ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 này sẽ không xuất hiện trong phần 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 StatisticsCollector trong proxy API 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 được minh hoạ ở trên, bạn nên đổi tên biến thành "product_id".
- Không phân biệt chữ hoa chữ thường.
- 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 không được phép. Ví dụ: không được phép dùng "user". Để 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 Proxy API triển khai chính sách StatisticsCollector.
Không có lưu lượng truy cập trên Proxy API 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.
Đợi một lúc rồi 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.
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 đẩ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à các lệnh gọi API được thực hiện, biến đó sẽ được lưu trữ trong bộ nhớ trên Bộ xử lý thông báo. Sau đó, Bộ xử lý thông báo sẽ gửi thông tin về biến mới đến ZooKeeper. ZooKeeper sẽ gửi thông tin đó đế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 các vấn đề về 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 kết quả đầu ra của 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ữ kiện . Đây là lý do khiến biến đó 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ác bước dưới đây:
- Tạo tệp
/opt/apigee/customer/application/postgres-server.propertiestrên máy chủ Postgres nếu tệp này chưa tồn tại. - Thêm dòng sau vào tệp này:
conf_pg-agent_forceonboard=true
- Đảm bảo tệp này thuộc sở hữu của Apigee bằng cách 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 trên tất cả các máy chủ Postgres.
- Huỷ triển khai và triển khai proxy API sử dụng chính sách StatisticsCollector policy.
- 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 các 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.