คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
ลักษณะปัญหา
ตัวแปรที่กำหนดเองที่สร้างขึ้นโดยใช้ นโยบายเครื่องมือเก็บข้อมูลสถิติ คือ จะไม่แสดงในมิติข้อมูลที่กำหนดเองในรายงานที่กำหนดเองของ Analytics ใน Edge UI
ข้อความแสดงข้อผิดพลาด
ไม่พบข้อผิดพลาด
สาเหตุที่เป็นไปได้
ตารางต่อไปนี้แสดงสาเหตุที่เป็นไปได้ของปัญหานี้
สาเหตุ | สำหรับ |
---|---|
ตัวแปรที่กำหนดเองไม่เป็นไปตามหลักเกณฑ์มาตรฐาน | ผู้ใช้ 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 ตัวแปรจะได้รับการจัดเก็บไว้ในหน่วยความจำบนตัวประมวลผลข้อความก่อน ข้อความ จากนั้นโปรเซสเซอร์จะส่งข้อมูลเกี่ยวกับตัวแปรใหม่ไปยัง 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 โดยทำตามขั้นตอนต่อไปนี้
- สร้างไฟล์
/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