คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
วิดีโอ
ดูข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาด 503 ได้ในวิดีโอต่อไปนี้
วิดีโอ | คำอธิบาย |
---|---|
แก้ปัญหาและแก้ปัญหาบริการ 503 ไม่พร้อมใช้งาน - NoActiveTargets | โปรดดูข้อมูลเกี่ยวกับสิ่งต่อไปนี้
|
ลักษณะปัญหา
แอปพลิเคชันไคลเอ็นต์จะได้รับรหัสสถานะการตอบกลับ HTTP 503 ที่มีรหัส ข้อความ Service Unavailable และรหัสข้อผิดพลาด NoActiveTargets สำหรับคำขอพร็อกซี API
ข้อความแสดงข้อผิดพลาด
คุณจะเห็นการตอบกลับข้อผิดพลาดต่อไปนี้
HTTP/1.1 503 Service Unavailable
คุณจะเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้ในการตอบกลับ HTTP
{ "fault": { "faultstring": "The Service is temporarily unavailable", "detail": { "errorcode": "messaging.adaptors.http.flow.NoActiveTargets" } } }
สาเหตุที่เป็นไปได้
โดยทั่วไป ระบบจะตรวจสอบการตอบกลับ HTTP ว่า 503 Service Unavailable ที่มีรหัสข้อผิดพลาด NoActiveTargets เมื่อคุณใช้เซิร์ฟเวอร์เป้าหมายอย่างน้อย 1 เซิร์ฟเวอร์ในการกำหนดค่าปลายทางเป้าหมายในพร็อกซี API
ตารางต่อไปนี้แสดงสาเหตุที่เป็นไปได้ของการตอบสนอง 503 บริการไม่พร้อมใช้งานที่มีรหัสข้อผิดพลาด NoActiveTargets
สาเหตุ | คำอธิบาย | ใครสามารถทำขั้นตอนการแก้ปัญหา |
---|---|---|
เซิร์ฟเวอร์เป้าหมายปิดใช้อยู่ | เซิร์ฟเวอร์เป้าหมายที่ระบุในการกำหนดค่าปลายทางเป้าหมายปิดใช้อยู่ | ผู้ใช้ Edge สาธารณะและ Private Cloud |
ข้อผิดพลาดในการเชื่อมต่อเนื่องจากการแปลง DNS ไม่ถูกต้อง | การแปลง DNS ของเซิร์ฟเวอร์เป้าหมายส่งผลให้ที่อยู่ IP ไม่ถูกต้องและทําให้เกิดข้อผิดพลาดในการเชื่อมต่อ | ผู้ใช้ Edge Private Cloud |
ข้อผิดพลาดในการเชื่อมต่อ | ปัญหาด้านเครือข่ายหรือการเชื่อมต่อทำให้ไคลเอ็นต์เชื่อมต่อกับเซิร์ฟเวอร์ไม่ได้ | ผู้ใช้ Edge Private Cloud |
ชื่อแทนโฮสต์เป้าหมายไม่ถูกต้อง | โฮสต์ของเซิร์ฟเวอร์เป้าหมายที่ระบุไม่ถูกต้องหรือมีอักขระที่ไม่ต้องการ (เช่น การเว้นวรรค) | ผู้ใช้ Edge สาธารณะและ Private Cloud |
ความล้มเหลวในแฮนด์เชค SSL | แฮนด์เชค TLS/SSL ระหว่างไคลเอ็นต์และเซิร์ฟเวอร์ล้มเหลว | ผู้ใช้ Edge สาธารณะและ Private Cloud |
ไม่ผ่านการตรวจสอบประสิทธิภาพการทำงาน | การตรวจสอบประสิทธิภาพการทำงานที่กำหนดค่าไว้เพื่อตรวจสอบประสิทธิภาพของเซิร์ฟเวอร์เป้าหมายอาจล้มเหลวเนื่องจากสาเหตุบางอย่าง | ผู้ใช้ Edge Private Cloud |
สาเหตุ: เซิร์ฟเวอร์เป้าหมายถูกปิดใช้
ถ้าเซิร์ฟเวอร์เป้าหมายทั้งหมดที่ระบุไว้ในการกำหนดค่าปลายทางเป้าหมายถูกปิดใช้งาน รับการตอบกลับ 503 Service Unavailable พร้อมรหัสข้อผิดพลาด NoActiveTargets
การวินิจฉัย
- ระบุชื่อของเซิร์ฟเวอร์เป้าหมายที่ใช้ในปลายทางเป้าหมายที่เฉพาะเจาะจง การกำหนดค่าพร็อกซี API ที่ล้มเหลวโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- หากมีปลายทางเป้าหมายเดียว ให้ตรวจสอบปลายทางเป้าหมายนั้น
- หากมีปลายทางเป้าหมายหลายรายการและไม่แน่ใจว่าปลายทางใดปิดใช้เซิร์ฟเวอร์เป้าหมาย ให้ทำตามขั้นตอนต่อไปนี้
- เปิดใช้เซสชันการติดตาม เรียก API และทำให้เกิดปัญหาซ้ำ - 503 บริการไม่พร้อมใช้งาน
- จากการติดตาม ให้ไปที่เริ่มต้นขั้นตอนการขอเป้าหมาย แล้วระบุชื่อปลายทางเป้าหมายดังที่แสดงด้านล่าง
- เมื่อคุณระบุปลายทางเป้าหมายแล้ว ให้รับชื่อเซิร์ฟเวอร์เป้าหมายที่ใช้จากการกำหนดค่าปลายทางเป้าหมายดังที่แสดงในตัวอย่างด้านล่าง
<TargetEndpoint name="default">> <HTTPTargetConnection> <LoadBalancer> <Server name="demo-target" /> </LoadBalancer> <Path>/test</Path> </HTTPTargetConnection> </TargetEndpoint>
ในตัวอย่างข้างต้น มีเซิร์ฟเวอร์เป้าหมายเดียวชื่อ demo-target
- ดูคำจำกัดความของเซิร์ฟเวอร์เป้าหมายแต่ละรายการที่ใช้ในปลายทางเป้าหมายโดยใช้ Edge UI หรือการเรียก Edge API
UI ของ Edge
วิธีดูคำจำกัดความโดยใช้ Edge UI
- ไปที่ผู้ดูแลระบบ > สภาพแวดล้อม > เซิร์ฟเวอร์เป้าหมาย
- เลือกสภาพแวดล้อมที่คุณเห็นความล้มเหลว
- ค้นหาชื่อเซิร์ฟเวอร์เป้าหมายที่เจาะจงเพื่อดูคำจำกัดความของเซิร์ฟเวอร์เป้าหมาย
ตัวอย่างเช่น พิมพ์ชื่อเซิร์ฟเวอร์เป้าหมาย
demo-target
และคุณจะเห็นคำจำกัดความดังที่แสดงด้านล่างโปรดสังเกตว่าเซิร์ฟเวอร์เป้าหมาย Demo-target จะมีชื่อแทนโฮสต์ พอร์ต # และ SSL เปิดใช้อยู่ แต่เซิร์ฟเวอร์เป้าหมายจะปิดใช้ อยู่ ซึ่งสังเกตได้จากองค์ประกอบ Enabled เป็นสีเทา
Edge API
วิธีดูคำจำกัดความโดยใช้ Edge API
ใช้ รับ TargetServer API เพื่อรับคำจำกัดความของเซิร์ฟเวอร์เป้าหมาย
ผลลัพธ์ตามคำจำกัดความของเซิร์ฟเวอร์เป้าหมาย
<TargetServer name="demo-target"> <Host>demo-target.apigee.net</Host> <Port>443</Port> <IsEnabled>false</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer>
เอาต์พุต Apigee API จะแสดงว่าเป้าหมายข้อมูลประชากรของเซิร์ฟเวอร์เป้าหมายปิดใช้อยู่ เนื่องจากองค์ประกอบ IsEnabled ถูกตั้งค่าเป็น "เท็จ"
เนื่องจากเซิร์ฟเวอร์เป้าหมายถูกปิดใช้งาน ตัวประมวลผลข้อความจะส่งบริการ 503 ไม่พร้อมใช้งานที่มีรหัสข้อผิดพลาด NoActiveTargets ในทันทีเป็น การตอบกลับไปยังไคลเอ็นต์
ความละเอียด
ตรวจสอบว่าเซิร์ฟเวอร์เป้าหมายที่ใช้ในการกำหนดค่าปลายทางเป้าหมายของ API พร็อกซีจะเปิดใช้เสมอ
UI ของ Edge
- ไปที่ผู้ดูแลระบบ > สภาพแวดล้อม > เซิร์ฟเวอร์เป้าหมาย
- เลือกสภาพแวดล้อมที่คุณเห็นความล้มเหลว
- ค้นหาชื่อเซิร์ฟเวอร์เป้าหมายที่ต้องการเพื่อดูคำจำกัดความ
- เลือกเซิร์ฟเวอร์เป้าหมายที่เจาะจง แล้วคลิกแก้ไข
- เลือกช่องทำเครื่องหมายเปิดใช้
- คลิกอัปเดต
Edge API
ใช้ อัปเดต API เซิร์ฟเวอร์เป้าหมายเพื่ออัปเดตคำจำกัดความของเซิร์ฟเวอร์เป้าหมายและตรวจสอบว่า IsEnabled ได้รับการตั้งค่าเป็น true ในเพย์โหลดคำขอของ API ดังที่แสดงด้านล่าง
<TargetServer name="demo-target"> <Host>demo-target.apigee.net</Host> <Port>443</Port> <IsEnabled>true</IsEnabled> <SSLInfo> <Enabled>true</Enabled> </SSLInfo> </TargetServer>
หากยังคงพบปัญหา ให้ไปที่ ต้องรวบรวมข้อมูลการวินิจฉัย
วิเคราะห์ปัญหาโดยใช้การตรวจสอบ API
การตรวจสอบ API ช่วยให้คุณสามารถแยกปัญหา ด้านต่างๆ อย่างรวดเร็วเพื่อวิเคราะห์ข้อผิดพลาด ประสิทธิภาพ และปัญหาด้านเวลาในการตอบสนอง รวมถึงแหล่งที่มาของปัญหานั้นๆ เช่น นักพัฒนาแอป แอป, พร็อกซี API, เป้าหมายแบ็กเอนด์ หรือแพลตฟอร์ม API
ดูสถานการณ์ตัวอย่าง
ซึ่งแสดงวิธีแก้ปัญหา 5xx เกี่ยวกับ API ของคุณโดยใช้การตรวจสอบ API ตัวอย่างเช่น
คุณอาจต้องตั้งค่าการแจ้งเตือนเมื่อจำนวน messaging.adaptors.http.flow.NoActiveTargets
ข้อผิดพลาดเกินเกณฑ์บางอย่าง
ต้องรวบรวมข้อมูลการวินิจฉัย
หากปัญหายังคงอยู่แม้จะทำตามวิธีการด้านบนแล้ว โปรดรวบรวมข้อมูลต่อไปนี้ ข้อมูลการวินิจฉัย ติดต่อและแชร์กับทีมสนับสนุนของ Apigee ดังนี้
- หากคุณเป็นผู้ใช้ระบบคลาวด์สาธารณะ โปรดระบุข้อมูลต่อไปนี้
- ชื่อองค์กร
- ชื่อสภาพแวดล้อม
- ชื่อพร็อกซี API
- ทำตามคำสั่ง curl ให้เสร็จเพื่อทำให้เกิดข้อผิดพลาดซ้ำ
- ไฟล์การย้ายข้อมูลที่มีคำขอที่มี 503 Service Unavailable ที่มีรหัสข้อผิดพลาด NoActiveTargets
- หากคุณเป็นผู้ใช้ Private Cloud ให้ระบุข้อมูลต่อไปนี้
- พบข้อความแสดงข้อผิดพลาดฉบับสมบูรณ์
- ชื่อสภาพแวดล้อม
- แพ็กเกจพร็อกซี API
- ไฟล์การย้ายข้อมูลที่มีคำขอที่มี 503 Service Unavailable ที่มีรหัสข้อผิดพลาด NoActiveTargets
- บันทึกการเข้าถึง NGINX
(
/opt/apigee/var/log/edge-router/nginx/<org>~<env>.<port#>_access_log
) - บันทึกของตัวประมวลผลข้อความ
(
/opt/apigee/var/log/edge-message-processor/logs/system.log
)