Fork me on GitHub
#observability
<
2022-09-13
>
lukasz21:09:24

My google-fu is failing me - is there are reliable and maintained Java (or Clojure) client for Prometheus' remote write endpoint? I've seen some examples, but they were far from finished and it looks like it involves messing around with protocol buffers

Ivar Refsdal10:09:19

https://github.com/BrunoBonacci/mulog looks solid, and has a prometheus publisher. I have not tried it myself though. CC @U0LCHMJTA

bruno.bonacci10:09:33

Hi @U0JEFEZH6 if you are looking just for the standard Prometheus monitoring you best option is: https://github.com/clj-commons/iapetos Mulog is a event-based monitoring library, while Prometheus is a metrics-based. the difference is huge! If you want to try an event-based monitoring system then something like mulog + Elasticsearch (or Cloudwatch) is your best starting point. You can add Prometheus to support existing alerting systems if you have the need but mulog + Elasticsearch generally will be a much more powerful combo.

lukasz14:09:07

@U0LCHMJTA thanks! I'll check out iapetos - looks like it requires using the push gateway instead, rather than remote write (I think they're different).

lukasz14:09:30

@UGJE0MM0W that looks like a logging solution - we have that covered via cambium + logback

bruno.bonacci14:09:36

mulog is a logging and tracing solution, it logs data-points as "events". Logback just logs messages. with mulog you can do everything you do with your traditional logging + everything you do with your metering system (like Prometheus) + everything you do with a tracing system (Zipkin and co) This talk explain the motivations and how it works https://www.youtube.com/watch?v=P1149dWnl3k&amp;ab_channel=LondonClojurians

lukasz15:09:41

interesting, I didn't realize I can use it for both - I'll check it out