Unsupervised Anomaly Detection on system metrics like memory, cpu, io, net, etc In all the examples that I can see online, people have used a labelled dataset. I however am stuck trying to construct a model to perform anomaly detection on unlabelled dataset (unsupervised anomaly detection).


  Problem Statement: To separate the anomalous points from the normal ones. The features available with us are mem_usage, mem_total, cpu_usage_idle, cpu_usage_iowait, etc


Using the anomaly detection, I plan to label the dataset saying whether anomalous or not. A step further would be aggregate each row based on the server the data belongs to and find if the server is healthy, problematic. Even further would be predicting when a server might face a similar problem and thus suggest ways to mitigate the problem.

Any kind of resources (papers, code blogs, videos) are really welcome. I am just starting out and am open to trying out new stuff as well.
Do you have sequence data about these metrics? E.g. do they evolve over time and you want to locate anomalies in these sequences?

If so, you can have a look at the tools described here: 


  https://github.com/rob-med/awesome-TS-anomaly-detection


They are all unsupervised methods, so you don't need anomaly-free data for training.

If you are not dealing with time-series, there are also many unsupervised approaches you can take. This paper offers a good survey on the topic


  https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0152173