ตรวจสอบและแก้ไขปัญหาบน Proxy ด้วย Trace Tool

ตรวจสอบและแก้ไขปัญหาบน Proxy ด้วย Trace Tool
หลังจากที่เราได้ลอง สร้าง API proxy บน Apigeeไปแล้ว เราอาจจะพบปัญหาว่า proxy ที่เราสร้างขึ้นไม่ทำงานอย่างที่เราตั้งใจ หรือเมื่อ deploy ใช้งานบน production แล้วเกิดปัญหาขึ้นเฉพาะแค่บาง transactions ในบทความนี้ เราจะมาลองใช้งาน Trace tool ซึ่งเป็นเครื่องมือสำหรับ troubleshooting และ monitoring API proxies บน Apigee Edge (เราสามารถมองว่า Trace tool เป็นเครื่องมือสำหรับ Debugging ก็ได้)

หลังจากที่เราได้ลอง สร้าง API proxy บน Apigee ไปแล้ว เราอาจจะพบปัญหาว่า proxy ที่เราสร้างขึ้นไม่ทำงานอย่างที่เราตั้งใจ หรือเมื่อ deploy ใช้งานบน production แล้วเกิดปัญหาขึ้นเฉพาะแค่บาง transactions ในบทความนี้ เราจะมาลองใช้งาน Trace tool ซึ่งเป็นเครื่องมือสำหรับ troubleshooting และ monitoring API proxies บน Apigee Edge (เราสามารถมองว่า Trace tool เป็นเครื่องมือสำหรับ Debugging ก็ได้)

เลือกอ่านหัวข้อที่สนใจ

การใช้งาน Trace tool

1. เข้าไปที่ proxy ที่เราจะต้องการ debug

2. ตรวจสอบดูว่า เราได้ deploy proxy บน environment ที่ต้องการ debug แล้วหรือยัง

3. เลือกที่ tab TRACE

4. ตรวจสอบที่ Deployment to Trace dropdown ว่าเป็น environment ที่เราต้องการ trace

5. กดปุ่ม Start Trace Session เมื่อเริ่มทำการ trace ทางตัว API proxy จะแสดง transaction ที่เกิดขึ้น รวมถึงค่าต่างๆ ภายใน transaction นั้น

6. ในการใช้งาน trace เราสามารถส่ง request ได้จากบนหน้า Web UI นั้นเลย (แต่จะจำกัดแค่ GET เท่านั้น) หรือเราสามารถใช้ tools อื่นๆ ในการส่ง request ก็ได้เช่น curl, POSTMAN หรือแม้กระทั่ง transaction จริงๆ จาก application ของเรา
Note trace session จะมีเวลาแค่ 10 นาที และจะเก็บแค่ 10 transactions ต่อ message processor (โดยปกติ Apigee Edge ที่อยู่บน cloud จะให้มา 2 message processors ดังนั้นในการ trace จะสามารถดูได้ 20 transactions) ซึ่งเมื่อครบ 10 นาทีหรือครบ 20 transactions ทาง Apigee Edge ก็จะหยุดการทำงาน Trace และจะไม่เก็บค่าต่างๆ บน request/response ที่เกิดจากการ Trace ไว้ (ยกเว้นเรากด Download Trace Session)

7. เมื่อมี transaction เกิดขึ้น Apigee จะแสดงเป็น list ของ transaction โดยสามารถกดเลือกแต่ละ transaction เพื่อดูค่าในแต่ละ step ได้

การอ่านค่าบน Trace

Trace tool มี 2 ส่วนสำคัญคือ Transaction map และ phase details

  • Transaction map จะแสดง icons สำหรับแต่ละ step ที่เกิดขึ้นบน API proxy transaction เช่น policy execution, conditional steps และ transitions (การเปลี่ยนแปลงสถานะ flow ต่างๆ) เราสามารถดู summary information ได้โดยการนำ mouse cursor ไป hover ที่จุดนั้น
    transaction จะถูกแบ่งเป็น request flow (ด้านบน) และ response flow (ด้านล่าง)
  • Phase details จะแสดงถึง การทำงานในแต่ละขั้น เราสามารถ click เข้าไปดู variables ที่ถูก set หรือ read, request และ response headers และอื่นๆ ได้

ตัวอย่าง Transaction map

ความหมายของ icon ต่างๆ บน Transaction map

Client app ที่เรียก request มายัง ProxyEndpoint บน API proxy

เป็นตัวแยกสำหรับใน proxy flow จะแสดงเมื่อ

  1. Request จาก client มาถึง
  2. Request เรียกไปยัง target
  3. รับ Response คืนจาก target
  4. ส่ง Response ไปยัง client

แสดงถึงจุดเริ่มต้นของ flow segment ซึ่งคือ ProxyEndpoint request, TargetEndpoint request, TargetEndpoint response, และ ProxyEndpoint response และใน segment จะประกอบด้วย PreFlow, Conditional Flows, และ PostFlow

การทำ Analytics ที่เกิดขึ้นใน background

Conditional flow ที่มีค่าเป็น true
Note จะมีบาง conditional flow ที่ถูกสร้างจาก Apigee Edge เอง

Conditional flow ที่มีค่าเป็น false
Note จะมีบาง conditional flow ที่ถูกสร้างจาก Apigee Edge เอง

แสดงถึง Policies โดย policy แต่ละชนิดจะมี icon ที่ต่างกัน โดยจะวางเรียงตามลำดับการถูก executed และแสดงว่าทำงานสำเร็จหรือไม่

สามารถ click ที่ policy icon เพื่อดูผลลัพธ์ของการ execution ได้

แสดงถึง backend target ที่เป็น Node.js application

Backend target ที่ถูกเรียกจาก API proxy

แสดงถึงเวลาที่ใช้ (ในหน่วย milliseconds) ในการ process ช่วยให้สามารถตรวจสอบได้ว่า policy ไหนที่ใช้เวลานานจนกระทบกับ API

แสดงถึงเวลาที่ใช้นั้นน้อยกว่า 1 milliseconds

แสดงถึง policy นั้นถูก disabled

มี error เกิดขึ้น

แสดงถึง policy นั้นถูก skipped (เนื่องจากการทำ condition evaluated ได้เป็น false)

ใช้ filters เพื่อกรองเฉพาะ transactions ที่สนใจ

ในการใช้งานจริง อาจจะมี transactions เกิดขึ้นเป็นจำนวนมากพร้อมๆกัน เราสามารถกำหนดใช้ header และ/หรือ query parameter เพื่อบอก Apigee ให้ filter สำหรับการ trace ได้ โดยเราอาจจะแจ้งไปยัง developer ให้เพิ่ม header สำหรับ transactions ที่เกิดปัญหา

  • ในการใช้ filter จำเป็นต้อง restart Trace session หลังจากกำหนด filter parameters
  • Filter parameters จะใช้ AND ในการเชื่อมเงื่อนไข
  • Filter tools ไม่รองรับ Pattern matching
  • Filter parameters และ values เป็น case sensitive

Debugging with Trace

Trace ช่วยให้มองเห็นรายละเอียดต่างๆ ภายใน API proxy เช่น

  • ดูได้ว่า policy ไหนที่ execute ไม่เป็นไปตามที่ตั้งใจ
  • เราอาจจะเห็นจาก Analytics dashboards ว่า API performance ลดลง ตัว Trace ช่วยให้เราหาจุด bottleneck นั้นได้ เพราะว่าแสดงถึงเวลาที่ใช้ในการทำงานแต่ละขั้นตอนเป็น milliseconds
  • สามารถตรวจสอบ headers ที่ส่งไปยัง backend หรือดูค่า variables ที่ถูก policy ตั้งค่าให้
  • ตรวจสอบ base path เพื่อดูว่า ส่งไปยัง server ที่ถูกต้อง

Downloading trace results

สามารถ download XML file ของ raw trace ที่เกิดขึ้นเพื่อนำไปตรวจสอบต่อบน text editor ได้ โดยใน file นั้นจะแสดงรายละเอียดทั้งหมดของ session รวมถึง headers, variables, และ policies

Showing requests as curl

เราสามารถดู request ที่ส่งไปยัง backend server เป็น curl command ได้ 

  • เพราะใน API proxy อาจจะมีการเปลี่ยนแปลงค่าต่างๆ ใน request ดังนั้นการตรวจสอบจะช่วยให้เราเห็นว่า request ที่ถูกส่งไปยัง backend server ต่างจาก original request อย่างไร
  • สำหรับ message payloads ขนาดใหญ่ สามารถใช้ curl ดู HTTP headers และ message content ได้ในที่เดียว (แต่มี limit อยู่ที่ 1,000 characters)

ในการดู curl request ที่ถูกส่งไป backend server สามารถดูได้โดยเลือกที่ “Request sent to target server” stage ใน Transaction Map diagram, และ click เลือกที่ปุ่ม Show curl บน “Request sent to target server” column ใน Phase Details

Key Takeaway

สำหรับบทความนี้ท่านได้ลองใช้งาน Trace tool ซึ่งเป็นเครื่องมือสำหรับ troubleshooting API Proxy บน Apigee Edge
(เราสามารถมองว่า Trace tool เป็นเครื่องมือสำหรับ Debugging ก็ได้) ช่วยให้การตรวจสอบและแก้ไขปัญหาได้สะดวกรวดเร็วยิ่งขึ้น
ทั้งในขั้นตอนการพัฒนา หรือปัญหาที่เกิดขึ้นเมื่อใช้งานบน Production

สำหรับองค์กรหรือธุรกิจของท่านอยากที่จะพัฒนาและขับเคลื่อนนวัตกรรมองค์กรด้วยกลุยทธ์ APIs
และต้องการคำปรึกษาเพิ่มเติมหรือสนใจ สามารถติดต่อเราได้ที่ marketing@tangerine.co.th หรือโทร 02 285 5511
ท่านจะได้รับคำตอบจากผู้เชี่ยวชาญที่ได้รับการรับรองมาตรฐาน

Share on social media

Tangerine Expertise

Related Solution

Expand Interests

All and More

  • All
  • Apigee
  • Application Development
  • Business Transformation
  • Cisco
  • Converged Infrastructure
  • Dell EMC
  • Dialogflow (Chatbot)
  • Event
  • G Suite
  • Google Cloud
  • Google Cloud Platform
  • Google Maps Platform
  • Google Workspace
  • Highlight
  • Huawei
  • Hybrid Cloud & Multi Cloud
  • Knowledge
  • Networking
  • Productivity & Work Transformation
  • Security
  • Smart Business Analytics & AI
  • Storage & Data Protection
  • Success Story
  • VMware
All
  • All
  • Apigee
  • Application Development
  • Business Transformation
  • Cisco
  • Converged Infrastructure
  • Dell EMC
  • Dialogflow (Chatbot)
  • Event
  • G Suite
  • Google Cloud
  • Google Cloud Platform
  • Google Maps Platform
  • Google Workspace
  • Highlight
  • Huawei
  • Hybrid Cloud & Multi Cloud
  • Knowledge
  • Networking
  • Productivity & Work Transformation
  • Security
  • Smart Business Analytics & AI
  • Storage & Data Protection
  • Success Story
  • VMware
Google Drive
G SuiteGoogle CloudGoogle Workspace

Google ประกาศอัพเดทความปลอดภัยให้กับไฟล์เอกสาร Google Drive

ตั้งแต่วันที่ September 13, 2021 เป็นต้นไป Google Drive จะมีการอัพเดทไฟล์เอกสารที่ถูกแชร์ให้มีความปลอดภัยมากยิ่งขึ้น โดยผู้ดูแลระบบ (Super Admin) สามารถเลือกดำเนินการปรับเปลี่ยนการตั้งค่าของโดเมนลูกค้า เพื่อป้องกันปัญหาการเปลี่ยนแปลงลิงก์ของไฟล์เอกสารได้

WFH and Data Security
G SuiteGoogle CloudGoogle Workspace

อีกระดับของความปลอดภัยในการ Collaboration ในโลกแห่งการทำงานแบบ Hybrid Work ด้วย Google Workspace

วันนี้ Google มีเครื่องมือที่เพิ่มประสิทธิภาพในการติดต่อกันและทำสิ่งต่างๆ ร่วมกันได้มากขึ้นด้วย Google Workspace ไม่ว่าจะเป็นที่บ้าน ที่โรงเรียน และที่ทำงาน ซึ่งโลกปัจจุบันได้เผชิญกับวิกฤตการณ์โรคระบาดจากโควิด 19 ทำให้เกิด New normal แบบใหม่ในทุกภาคส่วน โดยเฉพาะภาคส่วนธุรกิจที่ต้องมีการปรับตัวให้สามารถทำงานได้อย่างต่อเนื่อง นับจากนั้นการทำงานแบบ Hybrid Work กลายเป็นบรรทัดฐานสำหรับพนักงานจำนวนมาก การรักษาความปลอดภัย ความเป็นส่วนตัวของข้อมูล และความไว้วางใจยังคงเป็นรากฐานที่ทำให้สามารถทำงานร่วมกันได้ทุกที่ ทุกเวลา โดย Google ได้ให้ความสำคัญในรากฐานเหล่านี้ตั้งแต่ต้น ฉะนั้นวันนี้ Google จึงได้ประกาศความสามารถใหม่ซึ่งเป็นวิธีในการเสริมความแข็งแกร่งให้กับรากฐานนี้ใน Google Workspace

Google Workspace Backup and Sync
G SuiteGoogle CloudGoogle Workspace

การเปลี่ยนแปลงโปรแกรม Backup and Sync ให้เปลี่ยนเป็น Drive for desktop

เมื่อเดือนกุมภาพันธ์ พ.ศ.2564 Google ได้มีการประกาศ รวม 2 ฟังก์ชั่นการซิงค์ที่มีอยู่ 2 ตัว คือ Backup and Sync และ Drive File Stream มาเป็นฟังก์ชั่นเดียวที่มีชื่อว่า Drive for desktop ที่จะช่วยให้การทำงานของทุกคนง่ายขึ้น โดยผลการเปลี่ยนแปลงนี้จะกระทบกับทั้งผู้ใช้งาน gmail.com, G Suite และ Google Workspace ในทุก package

BigQuery GIS
Google CloudGoogle Cloud Platform

How to หา insight จากข้อมูลเชิงพื้นที่ ด้วย Data Studio และ BigQuery GIS

เมื่อพูดถึง Data Warehouse เรามักจะนึกถึงระบบฐานข้อมูลขนาดใหญ่ที่มีข้อมูลระดับ Big Data ไว้เพื่อใช้ในการวิเคราะห์ต่างๆ โดยมีข้อมูลที่หลากหลายในเชิงธุรกิจ อาทิ ยอดขาย, รายชื่อลูกค้า, ร้านค้าที่ใช้บริการ ฯลฯ แต่ข้อมูลอีกรูปแบบหนึ่งที่อาจเป็นข้อจำกัดของ Data Warehouse ทั่วไป คือการวิเคราะห์ข้อมูลเชิงพื้นที่ เช่น สาขาที่ตั้ง, latitude, longitude ภูมิภาค, จังหวัด, รหัสไปรษณีย์ ร่วมกับข้อมูลทางธุรกิจที่เรามีอยู่ ซึ่งผลลัพะ์ทำให้ insight ที่ได้ยิ่งมีคุณค่ามากขึ้นและเป็นประโยชน์ต่อธุรกิจของเรา

Web Gateway ราคา
HighlightNetworking

ทำงานที่ไหนก็ปลอดภัยเสมือนอยู่ออฟฟิศกับ Secure Web Gateway on Cloud

ในช่วงหลายปีที่ผ่านมา นับเป็นเรื่องปกติที่บริษัทไม่ว่าจะขนาดเล็กหรือใหญ่ล้วนมีการลงทุนกับระบบเครือข่าย และการป้องกันความปลอดภัยภายในระบบเครือข่ายของตนเองอย่างเข้มแข็ง เพื่อปกป้องข้อมูลและระบบแอพพลิเคชันที่มีความสำคัญยิ่งสำหรับองค์กรจากภัยคุกคามภายนอก ไม่ว่าจะเป็น Next Generation Firewalls, Network IPS, Web Proxy หรือ Email Security Gateway ก็ตาม ช่วยเพิ่มมั่นใจให้กับบริษัทว่าพนักงานที่นั่งทำงาน และเข้าถึงอินเตอร์เน็ตอยู่หลังอุปกรณ์เหล่านี้จะได้รับการปกป้องจากภัยคุกคามที่อาจเกิดขึ้นได้

Scroll to Top

ติดต่อ tangerine

Tel: +66 2 2855511   |   Email: info@tangerine.co.th




This website uses cookies to ensure you get the best experience on our website. View Privacy Policy