Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาลองใช้งาน Micrometer ใน Spring Boot 2.0 กัน

$
0
0

ใน Spring Boot 2.0.0.RELEASE นั้น ได้เปลี่ยนรูปแบบของ Metric ของ service จาก Actuator ไปยัง Micrometer ซึ่งแน่นอนว่า การใช้งานก็เปลี่ยนไปพอควร ดังนั้นมาลองใช้งาน Micrometer แบบง่ายกัน รวมไปถึงการใช้งานร่วมกับ Prometheus ซึ่งง่ายกว่าเดิมเยอะ
ปล. ผมเคยเขียนอธิบายการ monitoring service ที่พัฒนาด้วย Spring Boot 1.x ไว้ ซึ่งยังใช้งาน Actuator โดยในตอนนี้เรียกว่า Legacy ไปแล้วนะ

เหตุผลที่เปลี่ยนมาใช้ Micrometer ?

เป็นตัวหลางหรือ interface มาตรฐานที่ระบบ monitoring ต่าง ๆ สนับสนุน ดังนั้นถ้าเราใช้งานตามที่ Micrometer กำหนดแล้ว จะง่ายต่อการนำข้อมูลไปยังระบบ monitoring ทำให้ไม่ต้องไปยึดติดกับเครื่องมือมากนัก โดยที่ Micrometer นั้นจะสนับสนุน
  • Prometheus
  • Netflix Atlas
  • CloudWatch
  • Datadog
  • Graphite
  • Ganglia
  • JMX
  • Influx/Telegraf
  • New Relic
  • StatsD
  • SignalFx
  • Wavefront

ก่อนใช้งานต้องเพิ่ม dependency หรือ library เข้ามาใน project

ซึ่งยังคงใช้ actuator แต่ว่าความสามารถเดิม ๆ หายไปเยอะมาก ๆ รวมทั้งเพิ่มการทำงานร่วมกับ prometheus เพื่อทำการสร้าง metric ต่าง ๆ ในรูปแบบของ prometheus [gist id="d6adae2bdb8111932a4fe19499d1aee7" file="pom.xml"] ใน Micrometer นั้นก็มี metric ให้สร้างหลายชนิด ซึ่งปกติที่ใช้ก็ประกอบไปด้วย
  • Dimension/Tag
  • Counter
  • Gauge
  • Timer
  • Long task timer
  • Distribution summary
  • Summary statistic
  • Quantile
  • Histogram
  • Binder

มาดูตัวอย่างการใช้งานง่าย ๆ ของ Counter กันนิดหน่อย

[gist id="d6adae2bdb8111932a4fe19499d1aee7" file="2.java"] คำอธิบาย การใช้งานจะต้องผ่าน class MeterRegistry เสมอ จากนั้นทำการสร้าง counter metric ซึ่งเราสามารถระบุชื่อไปได้เลย จากนั้นก็เพิ่มค่าไปเรื่อย ๆ สามารถกำหนดค่าได้ด้วย ซึ่งใช้งานง่ายพอสมควร แต่ถ้าไม่ต้องการเขียน code ในรูปแบบนี้ ก็สามารถใช้ AOP มาใช้ได้ ซึ่งทำไม่ต้องไปแก้ไข code เลยดังนี้ [gist id="d6adae2bdb8111932a4fe19499d1aee7" file="3.java"] เพียงเท่านี้ก็สามารถสร้าง metric ของ service เราได้แบบง่าย ๆ ดังนั้นลองใช้งานกันดูนะ ขอให้สนุกกับการ coding นะ

Viewing all articles
Browse latest Browse all 1997

Trending Articles