Do you have a target variable that you can predict? Or do you have logic that will allow you to convert a "low" CPU value into a target variable?
Spark has a wide variety of models that are available for classification modeling: https://spark.apache.org/docs/latest/mllib-classification-regression.html
If you are interested in seeing which factor is contributing to a specific instance, I would recommend starting with a logistic regression model as that will provide more explanatory power -- providing more insight into which factor is contributing to a particular CPU failure