สำหรับใครที่จัดเก็บข้อมูล tracing ของระบบงานเป็นหนึ่งในข้อมูลที่สำคัญของระบบ observability น่าจะเคยเห็นและใช้งาน Jaeger กันมาบ้างโดยตอนนี้ทางทีมพัฒนาใกล้ปล่อย version 2 ออกมาให้ใช้งานกันแล้วมาดูว่ามีอะไรที่น่าสนใจกันบ้าง ๆ
Read More…
Grafana Beyla เป็นเครื่องมือสำหรับจัดการข้อมูล observability ของ application แบบง่าย ๆเช่น application metric และ distributed tracingด้วยการสร้าง auto-instrumentation เพื่อดึงข้อมูลจาก eBPF (Extended Berkeley Packet Filter) ได้เลยทำให้ในฝั่ง application ไม่ต้องเพิ่ม code ใด ๆ เข้าไปโดยใน Grafana Beyla นั้นสนับสนุน multi-processจึงส่งผลให้ดึงข้อมูลของแต่ละ process ที่อยู่บนเครื่องเดียวกันได้
Read More…
ปัญหาที่พบเจอใน Spring Boot 3 + WEbFluxเมื่อมีการใช้งาน WebClient เพื่อเรียกใช้งาน external APIพบว่าข้อมูลของ tracing ไม่ถูกส่งไปยัง external APIทำให้ข้อมูลของ tracing ระบบไม่ถูกต้องตามที่คาดหวัง
Read More…
ระบบการทำงานที่ต้องติดต่อสื่อสารกันผ่านระบบ networkไม่ว่าจะเป็น HTTP/HTTPs, Messaging protocol ต่าง ๆมีคำถามที่น่าสนใจคือเราจะตรวจสอบการทำงานได้อย่างไรว่าทำงานได้อย่างถูกต้องตามที่เราต้องการ
Read More…
จากที่ได้แบ่งปันเรื่องเกี่ยวกับ Microservices มานั้นมีคำถามที่น่าสนใจเกี่ยวกับการ tracing ข้อมูลของ message ที่ส่งเข้าไปยัง Apache Kafka ว่าส่งไปไหม ผลการทำงานเป็นอย่างไรรวมทั้งดูแบบ end-to-end ด้วยว่าเกิดอะไรขึ้นบ้างเนื่องจาก message นั้น ๆ อาจจะก่อให้เกิดการทำงาน หรือ event อื่น ๆ มากมายตามแนวคิดของ Event-based Architecture
Read More…
หลังจากที่ใช้งาน OpenTracing มานานซึ่งตอนนี้ OpenTracing ได้รวมเข้ากับ OpenCensus แล้วมีชื่อว่า OpenTelemetry จึงมาลองศึกษาและใช้งานดูกันหน่อย
Read More…
เพิ่งเห็นว่าใน Google Cloud นั้นมีบริการที่ชื่อว่า Cloud Trace สำหรับการจัดการเรื่องของ distributed tracing ให้ใช้งานแบบง่าย ๆ ดูการทำงานในส่วนต่าง ๆ ว่าเป็นอย่างไร รวมไปถึงการหาคอขวดของระบบงานอีกด้วย ที่สำคัญสามารถสร้างกฏในการตรวจสอบปัญหาแบบอัตโนมัติให้อีกด้วย
Read More…
จากที่เคยเขียน blog เรื่อง Jaeger ระบบ Distributed Tracing นั้น ใช้งานผ่าน library ชื่อว่า OpenTracing สำหรับจัดการรูปแบบข้อมูลของ tracing message และจัดเก็บข้อมูลด้วย Jaeger ในตอนนี้ OpenTracing ได้รวมกับ OpenCensus ในชื่อ OpenTelemetryจึงมาดูการใช้งานหน่อย เห็นเขาว่าง่ายดี
Read More…
Tracing เป็นอีกเรื่องหนึ่งที่ service หรือระบบงานต่าง ๆ ต้องมีเสมอ และมันมีประโยชน์ต่อระบบและทีมพัฒนาอย่างมาก แต่เราพบว่าระบบงานส่วนใหญ่ไม่มี หรือ มีน้อยมาก ๆ ดังนั้นเรามาลองสร้างระบบงานที่มีการ tracing การทำงานของระบบ
Read More…
หลังจากใช้งาน Zipkin มาสักพัก ก็มีเจอสิ่งที่คล้าย ๆ กันและน่าสนใจมาก ๆ คือ Jaeger จาก Uber โดยมีแรงบันดาลใจมาจาก Dapper และ OpenZipkin เป้าหมายหลักของเครื่องมือตัวนี้ คือทำการ tracing การทำงานต่าง ๆ ของระบบงาน ไม่ว่าจะอยู่ในรูปแบบไหนก็ตาม แน่นอนว่าทุก ๆ ระบบน่าจะมีหรือคิดหรือทำไว้บ้าง เพื่อทำการ monitoring การทำงานของระบบ เพื่อช่วยวิเคราห์เรื่อง dependency ต่าง ๆ ของระบบ เพื่อช่วยหา root cause ของปัญหาต่าง ๆ เพื่อช่วยดู performance การทำงานของส่วนต่าง ๆ ของระบบ
Read More…