svilen
Recommendations for Phoenix/Ecto app metrics platform (alternative to AppSignal)
We’ve been using AppSignal for a while but we’re now looking for an alternative. I’m getting an impression that rolling something custom is getting easier now with Telemetry, but I’m looking for a (mostly) plug and play solution that captures exceptions and gathers performance data. We can allocate time to roll out something on our own but I would leave that as the last option.
I know of a few services myself, but I’m curious to find out what are people’s recommendations?
Most Liked
hauleth
Ok, I will try to make it straight for you:
loggeris new Erlang module inkernelapplication that is meant as a general-purpose logging frontend. Right now (Elixir 1.9.x) its messages are intercepted by Elixir’sLoggerapplication and are displayed alongside its messages. In next release (Elixir 1.10) it will slightly change, asLoggermodule will now be wrapper over Erlang’sloggerand these two will be unified (with compatibility layer for legacy code).telemetryis simple events dispatcher, think about it as a message bus, that is meant to dispatch events about applications. In theory we could useloggerfor that, buttelemetryis much simpler and less complicated solution (no levels, no formatters, no filters, etc. just messages and handlers)- OpenTelemetry is CNCF project which is meant to bring iter-technology solution for monitoring (metrics and traces, no logs). The idea is to make it as a backend to the Erlang’s
telemetry, so you will be able to seamlessly introduce it into your project and most of the things will work almost OotB. - Prometheus is another CNCF project that is meant to be TSDB and query language for metrics.
So in the end:
- If you are writing library -
loggerandtelemetryare your friends - If you are building application - OpenTelemetry is something you should look into
Prometheus is for operations, there are backends for telemetry and I am pretty sure that there also will be such feature in OpenTelemetry, so in the end, OpenTelemetry will be all you need. However currently the OpenTelemetry Erlang is still in pre-alpha phase, so if you want to use it here and now, then you should check OpenCensus (which is previous project, and all the people that were working on that one currently are working on OpenTelemetry).
About error tracking - check out Sentry, it has official support for Elixir and it is pretty decent software. I have used it in the past and it was bliss.
About visualisation - Grafana is the best, unless you want unified hosted solution, then most of the above can be achieved via DataDog.
akoutmos
I usually end up hosting my own instances of Prometheus and Grafana and then use GitHub - prometheus-erl/prometheus.ex: Prometheus.io Elixir client · GitHub along with all the relevant collectors for out of the box Phoenix+Ecto metrics. I then also add my own metrics when appropriate to keep track of business metrics and what not.
chasers
@svilen if you’re still looking, and open to trying something new … I’d love it if you check out Logflare. I’ve been using our Logger backend for a while now, which powers the dashboard I use to manage our infrastructure.
From a logging perspective, we’re pretty much on par with the typical solutions out there. From the metrics side, you just log structured data and create dashboards from that.
I’d love to give you a rundown. If you’re interested, perhaps you guys can play a role in shaping the future of the product. I’m working closely with engaged early adopters.
Currently handling about a billion events a week…
Appreciate it!
</pitch>
Popular in Discussions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









