คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
ลักษณะปัญหา
ตัวแปรที่กําหนดเองที่สร้างขึ้นโดยใช้นโยบายเครื่องมือรวบรวมข้อมูลสถิติจะไม่แสดงในมิติข้อมูลที่กําหนดเองของรายงานที่กําหนดเองของ Analytics ใน Edge UI
ข้อความแสดงข้อผิดพลาด
ไม่พบข้อผิดพลาด
สาเหตุที่เป็นไปได้
ตารางต่อไปนี้แสดงสาเหตุที่เป็นไปได้ของปัญหานี้
สาเหตุ | สำหรับ |
---|---|
ตัวแปรที่กำหนดเองไม่เป็นไปตามหลักเกณฑ์มาตรฐาน | ผู้ใช้ Edge ส่วนตัวและระบบคลาวด์สาธารณะ |
ไม่มีการรับส่งข้อมูลบนพร็อกซี API ที่ใช้นโยบาย StatisticsCollector | ผู้ใช้ Edge ส่วนตัวและระบบคลาวด์สาธารณะ |
ไม่มีการพุชตัวแปรที่กำหนดเองไปยังเซิร์ฟเวอร์ Postgres | ผู้ใช้ Edge Private Cloud |
คลิกลิงก์ในตารางเพื่อดูวิธีแก้ปัญหาที่เป็นไปได้ของสาเหตุนั้น
ตัวแปรที่กำหนดเองไม่เป็นไปตามหลักเกณฑ์มาตรฐาน
การวินิจฉัย
หากชื่อตัวแปรที่กำหนดเองที่ใช้ในนโยบายเครื่องมือรวบรวมข้อมูลสถิติไม่เป็นไปตามหลักเกณฑ์มาตรฐาน (ดู การแก้ไข) ชื่อดังกล่าวก็จะไม่ปรากฏในรายงานที่กำหนดเอง
ข้อมูลโค้ดด้านล่างแสดงให้เห็นว่าชื่อตัวแปร "product id" มีช่องว่าง ดังนั้น จึงไม่แสดงใต้มิติข้อมูลที่กำหนดเองในรายงานที่กำหนดเอง
<StatisticsCollector name="publishPurchaseDetails"> <Statistics> <Statistic name="productID" ref="product id" type="string">999999</Statistic> </Statistics> </StatisticsCollector>
ความละเอียด
ชื่อตัวแปรที่กำหนดเองที่ใช้ในนโยบาย StatisticsCollector ภายในพร็อกซี API ควรเป็นไปตามหลักเกณฑ์ต่อไปนี้
- ชื่ออาจมี [a-z][0-9] และ '_'
- โดยชื่อต้องไม่มีการเว้นวรรค เช่น ในตัวอย่างโค้ดที่แสดงด้านบน ควรเปลี่ยนชื่อตัวแปรเป็น "product_id"
- ไม่สนใจตัวพิมพ์เล็กหรือใหญ่
- ไม่อนุญาตให้ใช้คีย์เวิร์ดที่จองไว้ซึ่งแสดงในตารางในลิงก์ต่อไปนี้ ตัวอย่างเช่น ไม่อนุญาตให้ใช้ "ผู้ใช้" ดูข้อมูลเพิ่มเติมได้ที่คีย์เวิร์ด SQL
หากปัญหายังคงอยู่ ให้ไปที่ไม่มีการรับส่งข้อมูลบนพร็อกซี API ที่ใช้นโยบาย StatisticsCollector
ไม่มีการรับส่งข้อมูลบนพร็อกซี API ที่ใช้นโยบาย StatisticsCollector
การวินิจฉัย
ถ้าไม่มีการเข้าชมบนพร็อกซี API ที่ใช้นโยบาย StatisticsCollector ตัวแปรที่กำหนดเองจะไม่ปรากฏในรายงานที่กำหนดเอง
ความละเอียด
เรียกใช้พร็อกซี API ที่ใช้นโยบาย StatisticsCollector
รอสักพักและตรวจสอบว่าตัวแปรที่กำหนดเองปรากฏในมิติข้อมูลที่กำหนดเองในรายงานที่กำหนดเองหรือไม่
หากยังพบปัญหาอยู่ ให้ไปที่ตัวแปรที่กำหนดเองไม่ได้พุชไปยังเซิร์ฟเวอร์ Postgres
ไม่ได้พุชตัวแปรที่กำหนดเองไปยังเซิร์ฟเวอร์ Postgres
การวินิจฉัย
เมื่อสร้างตัวแปรที่กำหนดเองในพร็อกซี API และมีการเรียก API ระบบจะจัดเก็บตัวแปรไว้ในหน่วยความจำในตัวประมวลผลข้อความก่อน จากนั้นตัวประมวลผลข้อความจะส่งข้อมูลเกี่ยวกับตัวแปรใหม่ไปยัง ZooKeeper ซึ่งจะส่งข้อมูลนี้ไปยังเซิร์ฟเวอร์ Postgres เพื่อเพิ่มเป็นคอลัมน์ในฐานข้อมูลของ Postgres
ในบางครั้ง การแจ้งเตือนจาก ZooKeeper อาจไม่ส่งถึงเซิร์ฟเวอร์ Postgres เนื่องจากเครือข่ายมีปัญหา และเนื่องจากข้อผิดพลาดนี้ ตัวแปรที่กำหนดเองอาจไม่ปรากฏในรายงานที่กำหนดเอง
วิธีระบุว่าตัวแปรที่กําหนดเองหายไปไหน
- สร้างต้นไม้ ZooKeeper โดยใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt
- ค้นหาตัวแปรที่กำหนดเองในเอาต์พุตแบบต้นไม้ ZooKeeper
- หากมีตัวแปรที่กำหนดเองอยู่ในต้นไม้ ZooKeeper ให้ใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่ามีการเพิ่มตัวแปรที่กำหนดเองลงในฐานข้อมูล Postgres หรือไม่
- ในโหนด Postgres ให้ลงชื่อเข้าสู่ระบบ PostgreSQL:
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- เรียกใช้การค้นหา SQL ต่อไปนี้
select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'orgname.envname.fact';
- ในโหนด Postgres ให้ลงชื่อเข้าสู่ระบบ PostgreSQL:
- มีความเป็นไปได้สูงที่คุณจะเห็นว่าคอลัมน์ตัวแปรที่กำหนดเองหายไปในตารางข้อเท็จจริง ซึ่งเป็นสาเหตุที่ทำให้คอลัมน์นี้ไม่ปรากฏในมิติข้อมูลที่กำหนดเอง
ความละเอียด
วิธีแก้ปัญหา #1: รีสตาร์ทเซิร์ฟเวอร์ Postgres
- รีสตาร์ทเซิร์ฟเวอร์ Postgres เพื่อบังคับให้อ่านข้อมูลทั้งหมดที่เกี่ยวข้องกับ Analytics จาก Zookeeper โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
หากปัญหายังคงอยู่ ให้ใช้วิธีแก้ไข #2
วิธีแก้ปัญหา #2: เปิดใช้ฟังก์ชัน Forceonboard
เปิดใช้พร็อพเพอร์ตี้ forceonboard โดยทำตามขั้นตอนต่อไปนี้
- สร้างไฟล์
/opt/apigee/customer/application/postgres-server.properties
ในเครื่องเซิร์ฟเวอร์ Postgres หากยังไม่มี - เพิ่มบรรทัดต่อไปนี้ในไฟล์นี้
conf_pg-agent_forceonboard=true
- ตรวจสอบว่าไฟล์นี้เป็นของ Apigee โดยใช้คำสั่งต่อไปนี้
chown apigee:apigee /opt/apigee/customer/application/postgres-server.properties
- รีสตาร์ทเซิร์ฟเวอร์ Postgres โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- หากมีเซิร์ฟเวอร์ Postgres มากกว่า 1 เซิร์ฟเวอร์ ให้ทำตามขั้นตอนด้านบนซ้ำในเซิร์ฟเวอร์ Postgres ทั้งหมด
- ยกเลิกการทำให้ใช้งานได้และทำให้พร็อกซี API ที่ใช้นโยบาย StatisticsCollector ใช้งานได้
- เรียกใช้การเรียก API
- ตรวจสอบว่าตัวแปรที่กําหนดเองปรากฏในมิติข้อมูลที่กําหนดเองในรายงานที่กำหนดเองหรือไม่
หากปัญหายังคงอยู่ โปรดติดต่อทีมสนับสนุนของ Apigee Edge