คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
ลักษณะปัญหา
ตัวแปรที่กำหนดเองซึ่งสร้างขึ้นโดยใช้นโยบาย Statistics Collectorจะไม่แสดงในส่วนมิติข้อมูลที่กำหนดเองในรายงานที่กำหนดเองของ Analytics ใน UI ของ Edge
ข้อความแสดงข้อผิดพลาด
บันทึกของระบบ edge-postgres-server จะมีข้อผิดพลาดต่อไปนี้หลังจากรีสตาร์ทสำหรับแต่ละ ชุดค่าผสมขององค์กร/สภาพแวดล้อมที่ไม่มีเส้นทาง
KeeperErrorCode = NoNode for /organizations/<ORG>/environments/<ENV>/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations//environments/ /properties, reason: KeeperErrorCode = NoNode for /organizations/ /environments/ /properties
สาเหตุที่เป็นไปได้
| สาเหตุ | คำอธิบาย | วิธีการแก้ปัญหาที่ใช้ได้กับ |
|---|---|---|
| ไม่มีเส้นทางพร็อพเพอร์ตี้ของ ZooKeeper สำหรับชุดค่าผสมขององค์กรและสภาพแวดล้อม | เมื่อไม่มีเส้นทาง ZooKeeper /organizations/
ระบบจะสร้างมิติข้อมูลที่กำหนดเองไม่ได้ |
ผู้ใช้ Edge Private Cloud |
สาเหตุ: ไม่มีเส้นทางพร็อพเพอร์ตี้ของ ZooKeeper สำหรับชุดค่าผสมขององค์กรและสภาพแวดล้อม
การวินิจฉัย
ระบบจะเปิดใช้ Analytics สำหรับชุดค่าผสมขององค์กรและสภาพแวดล้อมผ่าน
Enable analytics API ซึ่งจะป้อนข้อมูล /organizations/
ในโครงสร้าง ZooKeeper เมื่อ API นี้ล้มเหลว คอมโพเนนต์ edge-postgres-server จะสร้างมิติข้อมูลที่กำหนดเองไม่ได้ และข้อผิดพลาดต่อไปนี้จะปรากฏใน system.log
KeeperErrorCode = NoNode for /organizations/example/environments/prod/properties 2018-03-29 16:14:48,980 pool-10-thread-2 ERROR ZOOKEEPER - ZooKeeperServiceImpl.getData() : Could not get data for path: /organizations/example/environments/prod/properties, reason: KeeperErrorCode = NoNode for /organizations/digi/environments/sandbox/properties
โดยปกติแล้วเหตุการณ์นี้จะเกิดขึ้นเมื่อมีการเริ่มต้นใช้งานองค์กรในเวลาที่มีกลุ่ม Analytics มากกว่า 1 กลุ่มที่ใช้ UUID ของ postgres-server เดียวกัน หากต้องการตรวจสอบจำนวนกลุ่มข้อมูลวิเคราะห์ที่มีอยู่ ให้เรียกใช้การเรียก API ต่อไปนี้
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
หาก API นี้แสดงผลหลายกลุ่ม แสดงว่ากลุ่มเหล่านั้นอาจเป็นสาเหตุของปัญหา ในตัวอย่างต่อไปนี้ ให้สังเกตว่ามี 2 กลุ่มที่แตกต่างกันด้วยยัติภังค์เท่านั้น ได้แก่ axgroup-001 และ axgroup001
[ {
"name" : "axgroup-001",
"properties" : {
},
"scopes" : [ "VALIDATE~test" ],
"uuids" : {
"qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]
},
"consumer-groups" : [ {
"name" : "consumer-group-001",
"consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],
"properties" : {
}
} ],
"data-processors" : {
}
}, {
"name" : "axgroup001",
"properties" : {
},
"scopes" : [ "example~prod" ],
"uuids" : {
"qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]
},
"consumer-groups" : [ {
"name" : "consumer-group-001",
"consumers" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"datastores" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],
"properties" : {
}
} ],
"data-processors" : {
}โดยเฉพาะอย่างยิ่ง ปัญหาจะเกิดขึ้นหาก UUID ของ postgres-server ที่กำหนดค่าไว้สำหรับ axgroup แต่ละรายการเหมือนกัน วิธีตรวจสอบอย่างรวดเร็วคือเรียกใช้คำสั่งต่อไปนี้
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"|grep -B7 "postgres-server"
เอาต์พุตตัวอย่างต่อไปนี้จะเปรียบเทียบ UUID ของ postgres-server อย่างรวดเร็วเพื่อตรวจสอบว่า UUID เหล่านั้นเหมือนกัน
{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test" ],
"uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ]--
"name" : "axgroup001", "properties" : { }, "scopes" : [ "myorg~prod" ],
"uuids" : { "qpid-server" : [ "94c96375-1ca7-412d-9eee-80fda94f6e07" ],
"aries-datastore" : [ ], "postgres-server" : [ "8ee86b70-5b33-44b6-b2f8-1b0ec0ec8d77" ],ความละเอียด
คุณกำหนดชุดเซิร์ฟเวอร์ PostgreSQL ชุดเดียวกันให้กับ axgroup 2 กลุ่มไม่ได้ วิธีแก้ปัญหาที่เร็วที่สุดคือลบข้อมูลเซิร์ฟเวอร์ postgres ออกจาก axgroup กลุ่มหนึ่ง แล้วกำหนดขอบเขตทั้งหมด (ชุดค่าผสมขององค์กรและสภาพแวดล้อม) ให้กับอีกกลุ่มหนึ่ง โดยทำตามขั้นตอนต่อไปนี้
- นำคอมโพเนนต์เซิร์ฟเวอร์ postgres ออกจาก axgroup กลุ่มใดกลุ่มหนึ่งโดยใช้คำแนะนำ ที่ การเพิ่มและลบคอมโพเนนต์ Analytics ในกลุ่ม Analytics หากพบปัญหาเฉพาะกับขอบเขตที่ไม่ใช่การใช้งานจริง ให้เลือก axgroup ที่ ไม่มีขอบเขตการใช้งานจริงสำหรับการดำเนินการนี้ หากไม่เป็นเช่นนั้น ให้เลือก axgroup ที่มี ขอบเขตน้อยที่สุด
- นำขอบเขตทั้งหมดออกจาก axgroup ที่ไม่มีเซิร์ฟเวอร์ postgres อีกต่อไป รวมถึงขอบเขต
ที่คุณพบปัญหาเกี่ยวกับมิติข้อมูลที่กำหนดเองออกจาก axgroup ของขอบเขตเหล่านั้น สมมติว่า
axgroup-001จากตัวอย่างข้างต้นเป็นกลุ่มที่คุณต้องการใช้ คุณจะต้อง ใช้คำสั่งต่อไปนี้เพื่อนำขอบเขตสำหรับองค์กร myorg และสภาพแวดล้อม prod ออกcurl -u username:password -X DELETE 'http://management-server-host:8080/v1/analytics/groups/ax/axgroup001/scopes?org=myorg&env=prod'
- เปิดใช้ Analytics โดยใช้ Enable analytics API
- รีสตาร์ทคอมโพเนนต์ edge-postgres-server ในโหนดหลัก postgres และ
คอมโพเนนต์ edge-qpid-server ทั้งหมดที่คุณอาจติดตั้งไว้ โดยใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- ตรวจสอบว่าข้อผิดพลาดที่ระบุไว้ในส่วน ข้อความแสดงข้อผิดพลาด ข้างต้น
ไม่ปรากฏในไฟล์บันทึกของเซิร์ฟเวอร์ Postgres
/opt/apigee/var/log/edge-postgres-server/logs/system.logอีกต่อไป - ยืนยันว่ามิติข้อมูลที่กำหนดเองแสดงใน UI ของ Edge
หากปัญหายังคงอยู่ ให้ไปที่ รวบรวมข้อมูลการวินิจฉัยที่จำเป็น
รวบรวมข้อมูลการวินิจฉัยที่จำเป็น
หากปัญหายังคงอยู่แม้จะทำตามวิธีการก่อนหน้านี้แล้ว โปรดรวบรวมข้อมูลการวินิจฉัยต่อไปนี้ ติดต่อและแชร์ข้อมูลดังกล่าวกับทีมสนับสนุนของ Apigee Edge
- ไฟล์
/opt/apigee/var/log/edge-postgres-server/logs/system.logของ edge-postgres-server ตั้งแต่เวลารีสตาร์ทล่าสุด - เอาต์พุตของการเรียก Management API ต่อไปนี้
curl -u username:password "http://management-server-host:8080/v1/analytics/groups/ax"
- เอาต์พุตของโครงสร้าง ZooKeeper ที่ได้จากคำสั่งต่อไปนี้
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zktree-output.txt