ตอนนี้ Spring Boot สนับสนุน OpenTelemetry Protocol (OTLP) เต็มตัวแล้ว
ทั้งข้อมูล metric, trace และ log
โดยข้อดีของ OTLP ประกอบไปด้วย
- เรื่องรูปแบบข้อมูลที่เป็นมาตรฐาน
- มีความยืดหยุ่นในการใช้งาน ไม่ lock กับเครื่องมือและ technology มากนัก
มาลองใช้งานกัน
เริ่มต้นการใช้งาน ต้องมี library ต่าง ๆ ดังนี้
- Actuator เป็นสิ่งที่ต้องมีเสมอ
- ข้อมูล metric ยังใช้งานผ่าน Micrometer ด้วย library = micrometer-registry-otlp ซึ่งโยนเข้า Prometheus Remote Write ได้เลย
- ข้อมูล trace ใช้งาน library=micrometer-tracing-bridge-brave
- ข้อมูล log โยนเข้า Loki ได้เลย
ตัวอย่างของ Apache Maven project
[gist id="f172f267fd850e91bdefd0c7e5524da1" file="pom.xml"]ตัวอย่างการ config ให้ข้อมูล metric และ trace ไปยัง OpenTelemetry collector
[gist id="f172f267fd850e91bdefd0c7e5524da1" file="application.properties"]ส่วน log ก็โยนเข้า loki ไปเลย
[gist id="f172f267fd850e91bdefd0c7e5524da1" file="logback.xml"]ลองนำไปใช้ดูกันครับ
Reference Websites