Anomaly Detection in VictoriaMetrics
Monitoring isn’t easy. Well, sometimes it can be easy, but sometimes it’s not. Often, it’s easy to catch a problem, if you know what to look for — just create a query that captures it, and set up an alert for it.
But oftentimes you don’t know what can happen and would like to detect problems that never happened before, or you don’t know the exact rule that can capture it.
Imagine that you have a critical business metric that goes up and down periodically. It can be a number of requests or CPU load or the money your company gets from customers. In this example, data taken from Numenta Anomaly Benchmark dataset.
It’s hard to monitor metrics like this: sometimes values can be 20, sometimes more than 80, and both of these values are valid. How to define thresholds for this?
At VictoriaMetrics, we develop solutions that simplify monitoring. We have built the best storage that allows users not to limit themselves, vmagent that simplifies architecture, and MetricsQL that allows users to express themselves without having a Statistics degree.
And today we are happy to introduce vmanomaly and bring in machine learning power, such as anomaly detection and predictions to our enterprise customers.
Let’s get back to our data. Imagine that some times later we have a large spike:
As we turn vmanomaly on we get a forecasted time-series (green line), along with predicted range. If the actual values go outside of the predicted range, it is marked as anomaly (red range):
All this data will be stored in VictoriaMetrics and can be alerted by vmalert.
Or imagine, we have peak lower than it should be
Turning on vmanomaly, we can see it’s outside predicted range again:
And you can get alert, when something like this happens with your metrics.
That’s only a few examples — vmanomaly works with any data (except random) and our data science engineers have tested it with our selected customers and got impressive results. We planned to publish more examples in the near future.
Want to try? Contact us via email@example.com and find out more about our enterprise subscription!