Monitoring Erlang and Elixir just got better - Introducing WombatOAM 3.0.0
by Lajos Gerecs
A lot has changed since the last major release of WombatOAM. There were several minor releases in the past year and below you’ll find a non-comprehensive list of the main features and improvements introduced in this time.
Before you go any further, you should know that you can test all of this out today with a 45 day free trial for WombatOAM 3.0.0.
What is WombatOAM?
WombatOAM is an on premises monitoring tool to collect metrics in your Erlang- and Elixir-based applications. It provides historical data and live visibility into your processes’ measurements and logs, continuously checks if these are normal, and raises alarms early to prevent downtime or faulty behaviour.
WombatOAM contains an interactive Web Dashboard where you can view metrics and manage the associated nodes, and features several integrations to send the data elsewhere.
A Better Dashboard
WombatOAM went through a big redesign, where it’s finally reached its current, much improved version. We worked hard on the Web Dashboard making the user interface more intuitive for developers and support engineers as well. The whole look and feel changed giving it a more modern appearance.
WombatOAM’s Frontpage shows the most important Erlang metrics
WombatOAM has several Tools which can help diagnose issues with Erlang nodes or clusters directly from the Web Dashboard. The built-in Etop and ETS Table viewer also got a facelift.
Now the Node manager tools are moved to the Node Homepage, so tools like Garbage Collector Runner and Node Configurator are accessible right from the Node details. This change was made to make sure you have all the available tools controlling the node and its parameters in one place.
Network partitions can and will happen in distributed systems. When a node using Mnesia is separated from the other nodes in the cluster the databases’ contents will diverge. WombatOAM can now detect partitioned Mnesia clusters and raises alarms, we’ve also included a tool to fix the issue by a click of a button.
Some of the Tools are available on the Node homepage to help investigate issues
To be able to quickly get up and running after adding a node, we introduced Product Based Frontpages supporting Riak, RabbitMQ, Phoenix, Erlang, and Elixir. This means that WombatOAM will automatically generate a frontpage with graphs of the most important metrics related to the application. Of course you still have the ability to set up custom graphs and customise the frontpage.
Improved Elixir and Phoenix support
Elixir’s popularity is continuing to rise so we added numerous features which makes Elixir users’ lives easier. WombatOAM now supports multiple metrics from the Phoenix Web Framework, it collects information related to requests, such as average response time, request count, errors, etc. It also logs query runtimes and other metrics from Ecto and can collect logs from Elixir’s Logger.
WombatOAM displaying Phoenix and Cowboy metrics
We’ve added a few other metrics and related alarms as well, like Inode Count, which will notify if a mount is running out of available Inodes. WombatOAM is now better at inspecting RabbitMQ queues and can provide a lot of useful information, including message counts in RAM or on disk, unacknowledged message numbers, etc, for each queue. We also developed a SumoDB plugin which can log the time taken by the database actions (for example insert, update, delete) and provides a viewer for the data stored in the db as well.
We introduced a new graph type, you can now set up gauges to display metrics.
Smarter Alarm Handling
WombatOAM’s alarms can direct your attention towards serious issues in the system thus preventing outages. These problems can range from high CPU load or high memory usage to Erlang VM specific issues, limits imposed by the emulator like atom limits, and application misconfigurations. They can help you investigating scaling issues and application runtime issues as well.
Tags were introduced, giving you the options for defining alarm’s target. All built-in alarms are separated into two groups,
ops. This makes it possible to notify separate people when an alarm is raised, and on the Web Dashboard you can set default tags for yourself, making it easier to see the issues applying to you. You can specify custom tags as well giving you control over the alarm groups.
You can now create alarms to notify someone on specific conditions when you set up your application to push log entries or other custom notifications to WombatOAM.
We added a few new integrations as well. As WombatOAM is not primarily focused on storing the metrics for a long time, it’s better to send those to services which are more prepared for that use case. On top of the previous integrations like Graphite, now you can send the metrics and logs to Logstash, AppDynamics, or Datadog. Even better, now you get notified immediately by sending alarms to Slack.
WombatOAM 3.0.0 contains many more features and improvements than these listed above, we hope you’ll find them useful.
We still have a lot of ideas and are open to your feedback as well, please send us an email if you have comments on WombatOAM’s new version or you would like to see something implemented or improved. We hope you will love WombatOAM as much as we loved working on it, we are looking forward to WombatOAM 4.0.
Go back to the blog