คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
ลักษณะปัญหา
ตัวแปรที่กำหนดเองซึ่งสร้างขึ้นโดยใช้ นโยบาย StatisticsCollector ไม่ ปรากฏในส่วนมิติข้อมูลที่กำหนดเองในรายงานที่กำหนดเองของข้อมูลวิเคราะห์ใน UI ของ Edge
ข้อความแสดงข้อผิดพลาด
ไม่พบข้อผิดพลาด
สาเหตุที่เป็นไปได้
ตารางต่อไปนี้แสดงสาเหตุที่เป็นไปได้ของปัญหานี้
| สาเหตุ | สำหรับ |
|---|---|
| ตัวแปรที่กำหนดเองไม่เป็นไปตามหลักเกณฑ์มาตรฐาน | ผู้ใช้ Edge Private และ Public Cloud |
| ไม่มีการเข้าชมพร็อกซี API ที่ใช้นโยบาย StatisticsCollector | ผู้ใช้ Edge Private และ Public Cloud |
| ไม่ได้พุชตัวแปรที่กำหนดเองไปยังเซิร์ฟเวอร์ Postgres | ผู้ใช้ Edge Private Cloud |
คลิกลิงก์ในตารางเพื่อดูวิธีแก้ปัญหาที่เป็นไปได้สำหรับสาเหตุนั้น
ตัวแปรที่กำหนดเองไม่เป็นไปตามหลักเกณฑ์มาตรฐาน
การวินิจฉัย
หากชื่อตัวแปรที่กำหนดเองที่ใช้ในนโยบาย StatisticsCollector ไม่ เป็นไปตามหลักเกณฑ์มาตรฐาน (ดู วิธีแก้ปัญหา) ตัวแปรดังกล่าวจะไม่ปรากฏในรายงานที่กำหนดเอง
ข้อมูลโค้ดด้านล่างแสดงว่าชื่อตัวแปร "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"
- ระบบจะไม่พิจารณาตัวอักษรพิมพ์เล็ก
- ไม่อนุญาตให้ใช้คีย์เวิร์ดที่สงวนไว้ซึ่งระบุไว้ในตารางที่ลิงก์ต่อไปนี้ เช่น "user" ดูข้อมูลเพิ่มเติมได้ที่ คีย์เวิร์ด SQL
หากยังพบปัญหาอยู่ ให้ไปที่ ไม่มีการเข้าชมพร็อกซี API ที่ใช้นโยบาย StatisticsCollector
ไม่มีการเข้าชมพร็อกซี API ที่ใช้นโยบาย StatisticsCollector
การวินิจฉัย
หากไม่มีการเข้าชมพร็อกซี API ที่ใช้นโยบาย StatisticsCollector ตัวแปรที่กำหนดเองจะไม่ปรากฏในรายงานที่กำหนดเอง
ความละเอียด
เรียกพร็อกซี API ที่ใช้นโยบาย StatisticsCollector
รอสักครู่แล้วตรวจสอบว่าตัวแปรที่กำหนดเองปรากฏในมิติข้อมูลที่กำหนดเองในรายงานที่กำหนดเองหรือไม่
หากยังพบปัญหาอยู่ ให้ไปที่ ไม่ได้พุชตัวแปรที่กำหนดเองไปยัง เซิร์ฟเวอร์ Postgres
ไม่ได้พุชตัวแปรที่กำหนดเองไปยังเซิร์ฟเวอร์ Postgres
การวินิจฉัย
เมื่อสร้างตัวแปรที่กำหนดเองในพร็อกซี API และมีการเรียก API ระบบจะจัดเก็บตัวแปรไว้ในหน่วยความจำใน Message Processor ก่อน จากนั้น Message Processor จะส่งข้อมูลเกี่ยวกับตัวแปรใหม่ไปยัง 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 เพื่อบังคับให้เซิร์ฟเวอร์อ่านข้อมูลทั้งหมดที่เกี่ยวข้องกับ
ข้อมูลวิเคราะห์จาก 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