Monitor a Phoenix Application with ex_statsd, Quantum, and DatadogHQ

After searching and playing with trying to implement solutions:

I rapidly realized that if i wanted to use Erlangs OTP 0.19 and Elixir I would need to roll my own thanks to a library dependency install issue with OTP 0.19

My Solution:

Libraries:

  • ex_statsd is a on of the many wonderful Elixir libraries made by the people at CargoSense. Its a pure Elixir interface to the StatsD server protocol.
  • Quantum is a “Cron-like job scheduler for Elixir.”
  • DatadogHQ is a Cloud hosted performance data service. Data dog provides a  daemon that monitors  a system or in my case container stats such as networking and cpu.

DatadogHQ DashBoard

screen-shot-2016-09-08-at-2-14-42-pm

Interesting tidbits:

  • ConCache doesn’t have a way to get the memory size of a cache so you have to drop down to the erlang level and get the its table information.
  • :ets.info memory returns a value in words so you have to multiply by :erlang.system_info(:wordsize) to get the size in bytes.

Leave a Reply

Required fields are marked*