คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
ลักษณะปัญหา
แดชบอร์ดข้อมูลวิเคราะห์ (ประสิทธิภาพพร็อกซี ประสิทธิภาพเป้าหมาย ฯลฯ) ไม่แสดงข้อมูลใดๆ ใน UI ของ Edge แดชบอร์ดทั้งหมดแสดงข้อความต่อไปนี้
No traffic in the selected date range
ข้อความแสดงข้อผิดพลาด
ปัญหานี้ไม่ทำให้เกิดข้อผิดพลาดที่สังเกตได้
สาเหตุที่เป็นไปได้
ตารางต่อไปนี้แสดงสาเหตุที่เป็นไปได้ของปัญหานี้
| สาเหตุ | สำหรับ |
|---|---|
| ไม่มีการรับส่งข้อมูล API สำหรับองค์กร-สภาพแวดล้อม | ผู้ใช้ Edge for Private Cloud |
| ข้อมูลพร้อมใช้งานในฐานข้อมูล Postgres แต่ไม่แสดงใน UI | ผู้ใช้ Edge for Private Cloud |
| ไม่ได้พุชข้อมูลวิเคราะห์ไปยังฐานข้อมูล Postgres | ผู้ใช้ Edge for Private Cloud |
| การติดตั้งใช้งานข้อมูลวิเคราะห์ไม่ถูกต้อง | ผู้ใช้ Edge for Private Cloud |
| UUID ของเซิร์ฟเวอร์ข้อมูลวิเคราะห์ล้าสมัย | ผู้ใช้ Edge for Private Cloud |
ไม่มีการรับส่งข้อมูล API สำหรับองค์กร-สภาพแวดล้อม
การวินิจฉัย
- ตรวจสอบว่ามีการรับส่งข้อมูลสำหรับพร็อกซี API ในองค์กร-สภาพแวดล้อมที่เฉพาะเจาะจงสำหรับ
ช่วงเวลาที่เฉพาะเจาะจงที่คุณพยายามดูข้อมูลวิเคราะห์หรือไม่ โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้:
- เปิดใช้การติดตามสำหรับ API ใดก็ตามที่ผู้ใช้กำลังใช้อยู่ และ ตรวจสอบว่าคุณได้รับคำขอในการติดตามหรือไม่
- ดูบันทึกการเข้าถึง NGINX
(
/opt/apigee/var/log/edge-router/nginx/logs/access.log)และดูว่ามีรายการใหม่สำหรับพร็อกซี API ในช่วงเวลาที่เฉพาะเจาะจงหรือไม่ - หากคุณบันทึกข้อมูลจากพร็อกซี API ไปยังเซิร์ฟเวอร์บันทึก เช่น Syslog, Splunk, Loggly, ฯลฯ คุณสามารถตรวจสอบว่ามีรายการในเซิร์ฟเวอร์บันทึกเหล่านี้สำหรับพร็อกซี API ในช่วงเวลาที่เฉพาะเจาะจงหรือไม่
- หากไม่มีการรับส่งข้อมูล (ไม่มีคำขอ API) ในช่วงเวลาที่เฉพาะเจาะจง ข้อมูลวิเคราะห์จะไม่พร้อมใช้งาน คุณจะเห็นข้อความ "ไม่มีการรับส่งข้อมูลในช่วงวันที่ที่เลือก" ในแดชบอร์ดข้อมูลวิเคราะห์
ความละเอียด
- เรียกพร็อกซี API อย่างน้อย 1 รายการในองค์กร-สภาพแวดล้อมที่เฉพาะเจาะจง
- รอสักครู่ แล้วดูแดชบอร์ดข้อมูลวิเคราะห์ในแท็บชั่วโมงเพื่อดูว่า ข้อมูลปรากฏขึ้นหรือไม่
- หากยังพบปัญหาอยู่ ให้ไปที่ ข้อมูลพร้อมใช้งานในฐานข้อมูล Postgres แต่ไม่แสดงใน UI
ข้อมูลพร้อมใช้งานในฐานข้อมูล Postgres แต่ไม่แสดงใน UI
ลักษณะปัญหา
ขั้นแรก ให้ตรวจสอบความพร้อมใช้งานของข้อมูลวิเคราะห์ล่าสุดในฐานข้อมูล Postgres
วิธีตรวจสอบว่าข้อมูลวิเคราะห์ล่าสุดพร้อมใช้งานในโหนดหลักของ Postgres หรือไม่:
- เข้าสู่ระบบเซิร์ฟเวอร์ Postgres แต่ละเครื่องและเรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่าคุณอยู่ในโหนดหลักของ Postgres หรือไม่
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- ในโหนดหลักของ Postgres ให้เข้าสู่ระบบ PostgreSQL
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- ตรวจสอบว่าตารางมีอยู่สำหรับองค์กร-สภาพแวดล้อมของคุณหรือไม่โดยใช้การค้นหา SQL ต่อไปนี้ในฐานข้อมูล Postgres
\d analytics."orgname.envname.fact"
- ตรวจสอบว่าข้อมูลล่าสุดพร้อมใช้งานในฐานข้อมูล Postgres หรือไม่โดยใช้การค้นหา SQL
ต่อไปนี้
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- หากการประทับเวลาล่าสุดเก่ามาก (หรือเป็นค่า Null) แสดงว่าข้อมูลไม่พร้อมใช้งานในฐานข้อมูล Postgres สาเหตุที่เป็นไปได้ของปัญหานี้คือข้อมูล ไม่ได้พุชจากเซิร์ฟเวอร์ Qpid ไปยังฐานข้อมูล Postgres ไปที่ไม่ได้พุชข้อมูลวิเคราะห์ไปยังฐานข้อมูล Postgres
- หากข้อมูลล่าสุดพร้อมใช้งานในฐานข้อมูล Postgres ในโหนดหลัก ให้ทำตาม ขั้นตอนด้านล่างเพื่อวินิจฉัยสาเหตุที่ข้อมูลไม่แสดงใน UI ของ Edge
การวินิจฉัย
- เปิดใช้ เครื่องมือสำหรับนักพัฒนาเว็บ ในเบราว์เซอร์ Chrome และรับ API ที่ใช้จากแดชบอร์ดข้อมูลวิเคราะห์แดชบอร์ดใดแดชบอร์ดหนึ่งโดยทำตามขั้นตอนด้านล่าง:
- เลือกแท็บเครือข่ายจากเครื่องมือสำหรับนักพัฒนาเว็บ
- เริ่มบันทึก
- โหลดแดชบอร์ดข้อมูลวิเคราะห์ซ้ำ
- ในแผงด้านซ้ายของเครื่องมือสำหรับนักพัฒนาเว็บ ให้เลือกแถวที่มี "apiproxy?_optimized..."
- ในแผงด้านขวาของเครื่องมือสำหรับนักพัฒนาเว็บ ให้เลือกแท็บ "ส่วนหัว" และจด "URL คำขอ"
- ตัวอย่างเอาต์พุตจากเครื่องมือสำหรับนักพัฒนาเว็บ
ตัวอย่างเอาต์พุตที่แสดง API ที่ใช้ในแดชบอร์ดประสิทธิภาพพร็อกซีจากแท็บเครือข่าย ของเครื่องมือสำหรับนักพัฒนาเว็บสำหรับแดชบอร์ดประสิทธิภาพพร็อกซี

- เรียกใช้ Management API โดยตรงและตรวจสอบว่าคุณได้รับผลลัพธ์หรือไม่ นี่คือตัวอย่างการเรียก API
สำหรับแท็บวันในแดชบอร์ดประสิทธิภาพพร็อกซี
curl -u username:password "http://management_server_IP_address:8080/v1/organizations/ org_name/environments/env_name/stats/apiproxy?limit=14400& select=sum(message_count),sum(is_error),avg(total_response_time), avg(target_response_time)&sort=DESC&sortby=sum(message_count),sum(is_error), avg(total_response_time),avg(target_response_time)&timeRange=08%2F9%2F2017+ 18:00:00~08%2F10%2F2017+18:00:00&timeUnit=hour&tsAscending=true"
- หากคุณเห็นการตอบกลับที่สำเร็จแต่ไม่มีข้อมูล แสดงว่าเซิร์ฟเวอร์การจัดการดึงข้อมูลจากเซิร์ฟเวอร์ Postgres ไม่ได้เนื่องจากปัญหาการเชื่อมต่อเครือข่าย
- ตรวจสอบว่าคุณเชื่อมต่อกับเซิร์ฟเวอร์ Postgres จากเซิร์ฟเวอร์การจัดการได้หรือไม่
telnet Postgres_server_IP_address 5432
- หากคุณเชื่อมต่อกับเซิร์ฟเวอร์ Postgres ไม่ได้ ให้ตรวจสอบว่ามีข้อจำกัดของไฟร์วอลล์ ในพอร์ต 5432 หรือไม่
- หากมีข้อจำกัดของไฟร์วอลล์ ข้อจำกัดดังกล่าวอาจเป็นสาเหตุที่ทำให้เซิร์ฟเวอร์การจัดการ ดึงข้อมูลจากเซิร์ฟเวอร์ Postgres ไม่ได้
ความละเอียด
- หากมีข้อจำกัดของไฟร์วอลล์ ให้นำข้อจำกัดดังกล่าวออกเพื่อให้เซิร์ฟเวอร์การจัดการสื่อสารกับเซิร์ฟเวอร์ Postgres ได้
- หากไม่มีข้อจำกัดของไฟร์วอลล์ ปัญหานี้อาจเกิดจากข้อผิดพลาดของเครือข่าย
- หากเซิร์ฟเวอร์การจัดการมีข้อผิดพลาดของเครือข่าย การรีสตาร์ทเซิร์ฟเวอร์อาจช่วยแก้ปัญหาได้
- รีสตาร์ทเซิร์ฟเวอร์การจัดการทั้งหมดทีละรายการโดยใช้คำสั่งด้านล่าง
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- ตรวจสอบว่าคุณเห็นข้อมูลวิเคราะห์ใน UI ของ Edge หรือไม่
หากยังไม่เห็นข้อมูล โปรดติดต่อทีมสนับสนุนของ Apigee Edge
ไม่ได้พุชข้อมูลวิเคราะห์ไปยังฐานข้อมูล Postgres
การวินิจฉัย
หากไม่ได้พุชข้อมูลจากเซิร์ฟเวอร์ Qpid ไปยังฐานข้อมูล Postgres ตามที่ระบุไว้ใน ข้อมูลพร้อมใช้งานในฐานข้อมูล Postgres แต่ไม่แสดงใน UI ให้ทำตาม ขั้นตอนต่อไปนี้
- ตรวจสอบว่าเซิร์ฟเวอร์ Qpid แต่ละเครื่องทำงานอยู่หรือไม่โดยเรียกใช้คำสั่งด้านล่าง
/opt/apigee/apigee-service/bin edge-qpid-server status
- หากเซิร์ฟเวอร์ Qpid เครื่องใดเครื่องหนึ่งหยุดทำงาน ให้รีสตาร์ทเซิร์ฟเวอร์ หากไม่ ให้ข้ามไปที่ขั้นตอนที่ 5
/opt/apigee/apigee-service/bin edge-qpid-server restart
- รอสักครู่ แล้วตรวจสอบอีกครั้งว่าข้อมูลล่าสุดพร้อมใช้งานในฐานข้อมูล Postgres หรือไม่
- เข้าสู่ระบบ PostgreSQL
psql -h /opt/apigee/var/run/apigee-postgresql -U apigee apigee
- เรียกใช้การค้นหา SQL ด้านล่างเพื่อตรวจสอบว่าข้อมูลล่าสุดพร้อมใช้งานหรือไม่
select max(client_received_start_timestamp) from analytics."orgname.envname.fact";
- เข้าสู่ระบบ PostgreSQL
- หากข้อมูลล่าสุดพร้อมใช้งาน ให้ข้ามขั้นตอนต่อไปนี้และไปที่ขั้นตอนสุดท้ายใน ส่วนความละเอียด หากข้อมูลล่าสุดไม่พร้อมใช้งาน ให้ทำตามขั้นตอนต่อไปนี้
- ตรวจสอบว่ามีการพุชข้อความจากคิวของเซิร์ฟเวอร์ Qpid ไปยังฐานข้อมูล Postgres หรือไม่
- เรียกใช้
qpid-stat -q commandและตรวจสอบค่าคอลัมน์ msgIn และ msgOut - นี่คือตัวอย่างเอาต์พุตที่แสดงว่า msgIn และ msgOut ไม่เท่ากัน ซึ่งแสดงว่า
ว่าไม่ได้พุชข้อความจากเซิร์ฟเวอร์ Qpid ไปยังฐานข้อมูล Postgres

- เรียกใช้
- หากคอลัมน์ msgIn และ msgOut ไม่ตรงกัน ให้ตรวจสอบบันทึกของเซิร์ฟเวอร์ Qpid
Server
/opt/apigee/var/log/edge-qpid-server/system.logและดูว่ามีข้อผิดพลาดหรือไม่ - คุณอาจเห็นข้อความแสดงข้อผิดพลาด เช่น "Probably PG is still down" หรือ
"FATAL: sorry, too many clients already" ดังที่แสดงในรูปภาพด้านล่าง
2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be retriable - . Error observed while trying to connect to jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d] 2017-07-28 09:56:39,896 ax-q-axgroup001-persistpool-thread-3 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection; nested exception is org.postgresql.util.PSQLException: FATAL: sorry, too many clients already 2017-07-28 09:56:53,617 pool-7-thread-1 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Found the exception to be retriable - . Error observed while trying to connect to jdbc:postgresql://PG_IP_address:5432/apigee Initial referenced UUID when execution started in this thread was a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d Probably PG is still down. PG set used - [a1ddf72f-ac77-49c0-a1fc-d0db6bf9991d] 2017-07-28 09:56:53,617 pool-7-thread-1 WARN c.a.a.d.c.ServerHandle - ServerHandle.logRetry() : Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (FATAL: sorry, too many clients already)
ปัญหานี้อาจเกิดขึ้นหากเซิร์ฟเวอร์ Postgres เรียกใช้การค้นหา SQL มากเกินไป หรือ CPU ทำงาน สูงและจึงไม่สามารถตอบสนองต่อเซิร์ฟเวอร์ Qpid ได้
ความละเอียด
- รีสตาร์ทเซิร์ฟเวอร์ Postgres และ PostgreSQL ดังที่แสดงด้านล่าง
/opt/apigee/bin/apigee-service edge-postgres-server restart
/opt/apigee/bin/apigee-service apigee-postgresql restart
- การรีสตาร์ทนี้จะหยุดการค้นหา SQL ก่อนหน้าทั้งหมดและควรอนุญาตการเชื่อมต่อใหม่ กับฐานข้อมูล Postgres
- โหลดแดชบอร์ดข้อมูลวิเคราะห์ซ้ำและตรวจสอบว่าข้อมูลวิเคราะห์แสดงอยู่หรือไม่
หากยังพบปัญหาอยู่ โปรดติดต่อทีมสนับสนุนของ Apigee Edge
การติดตั้งใช้งานข้อมูลวิเคราะห์ไม่ถูกต้อง
การวินิจฉัย
- รับสถานะการติดตั้งใช้งานข้อมูลวิเคราะห์โดยใช้การเรียก API ต่อไปนี้
curl -u user_email:password http://management_server_host:port /v1/organizations/orgname/environments/envname/provisioning/axstatus
- ตรวจสอบสถานะของเซิร์ฟเวอร์ Qpid และ Postgres จากผลลัพธ์ของการเรียก API
- หากสถานะของเซิร์ฟเวอร์ Qpid และ Postgres แสดงเป็น "SUCCESS" แสดงว่า เซิร์ฟเวอร์ข้อมูลวิเคราะห์เชื่อมต่ออย่างถูกต้อง ไปที่ UUID ของเซิร์ฟเวอร์ข้อมูลวิเคราะห์ล้าสมัย
- หากสถานะของเซิร์ฟเวอร์ Qpid/Postgres แสดงเป็น "UNKNOWN" หรือ "FAILURE" แสดงว่ามีปัญหาเกี่ยวกับเซิร์ฟเวอร์ที่เกี่ยวข้อง
ตัวอย่างเช่น สถานการณ์ต่อไปนี้แสดงสถานะของเซิร์ฟเวอร์ Postgres เป็น "UNKNOWN":

ปัญหานี้อาจเกิดขึ้นหากเกิดข้อผิดพลาดระหว่างการเริ่มต้นใช้งานข้อมูลวิเคราะห์ ข้อผิดพลาดนี้ จะป้องกันไม่ให้ข้อความจากเซิร์ฟเวอร์การจัดการไปถึงเซิร์ฟเวอร์ Postgres
ความละเอียด
โดยปกติแล้วปัญหานี้จะแก้ไขได้โดยการรีสตาร์ทเซิร์ฟเวอร์ที่แสดง "FAILURE" หรือ "UNKNOWN"
- รีสตาร์ทเซิร์ฟเวอร์แต่ละเครื่องที่มีสถานะการเชื่อมต่อข้อมูลวิเคราะห์ระบุเป็น "FAILURE" หรือ "UNKNOWN"
โดยใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-service/bin/apigee-service component restart
- เช่น
- หากพบปัญหาในเซิร์ฟเวอร์ Qpid ให้รีสตาร์ทเซิร์ฟเวอร์ Qpid
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- หากพบปัญหาในเซิร์ฟเวอร์ Postgres ให้รีสตาร์ททั้งโหนดหลักและโหนดรอง
ของเซิร์ฟเวอร์ Postgres
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- หากพบปัญหาในเซิร์ฟเวอร์ Qpid ให้รีสตาร์ทเซิร์ฟเวอร์ Qpid
- ในตัวอย่างด้านบน ข้อความ "UNKNOWN" จะแสดงสำหรับเซิร์ฟเวอร์ Postgres ดังนั้นคุณต้อง
รีสตาร์ททั้งเซิร์ฟเวอร์หลักและเซิร์ฟเวอร์รองของ Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
UUID ของเซิร์ฟเวอร์ข้อมูลวิเคราะห์ที่ไม่มีอัปเดต
การวินิจฉัย
- รับการกำหนดค่าข้อมูลวิเคราะห์โดยใช้การเรียก API ต่อไปนี้
curl -u user_email:password http://management-server-host:port/v1/analytics/groups/ax
นี่คือตัวอย่างเอาต์พุตจาก API ด้านบน
[ { "name" : "axgroup001", "properties" : { "consumer-type" : "ax" }, "scopes" : [ "myorg~prod", "myorg~test" ], "uuids" : { "aries-datastore" : [ ], "postgres-server" : [ "6777...2db14" ], "dw-server" : [ ], "qpid-server" : [ "774e...fb23", "29f3...8c11" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "774e...8c11" ], "datastores" : [ "6777...db14" ], "properties" : { } } ], "data-processors" : { } } ]
- ตรวจสอบว่าข้อมูลต่อไปนี้ในเอาต์พุตถูกต้อง
- ชื่อองค์กร-สภาพแวดล้อมที่ระบุไว้ในองค์ประกอบ "ขอบเขต"
- UUID ของเซิร์ฟเวอร์ Postgres และเซิร์ฟเวอร์ Qpid
- รับ UUID ของเซิร์ฟเวอร์ Postgres โดยเรียกใช้คำสั่งต่อไปนี้ในโหนดเซิร์ฟเวอร์ Postgres แต่ละเครื่อง
curl 0:8084/v1/servers/self/uuid
- รับ UUID ของเซิร์ฟเวอร์ Qpid โดยเรียกใช้คำสั่งต่อไปนี้ในโหนดเซิร์ฟเวอร์ Qpid
แต่ละเครื่อง
curl 0:8083/v1/servers/self/uuid
- รับ UUID ของเซิร์ฟเวอร์ Postgres โดยเรียกใช้คำสั่งต่อไปนี้ในโหนดเซิร์ฟเวอร์ Postgres แต่ละเครื่อง
- หากข้อมูลทั้งหมดถูกต้อง ให้ไปที่ ไม่ได้พุชข้อมูลวิเคราะห์ไปยังฐานข้อมูล Postgres
- หาก UUID ของเซิร์ฟเวอร์ Postgres และ/หรือ Qpid ไม่ถูกต้อง อาจเป็นไปได้ว่า เซิร์ฟเวอร์การจัดการกำลังอ้างอิง UUID ที่ล้าสมัย
ความละเอียด
หากต้องการนำ UUID ที่ล้าสมัยออกและเพิ่ม UUID ที่ถูกต้องของเซิร์ฟเวอร์ โปรดติดต่อ ทีมสนับสนุนของ Apigee Edge