Abstract:
Software monitoring is a key aspect to validate the reliability of the software systems. By analyzing the monitoring data, system administrator or performance engineer can understand the status of the system to detect, diagnose and solve issues. But, because of the enormous scale and complex structure of the software system, a monitoring should be able to collect, transfer and analyses large amount of monitoring data, that causes a significant performance overhead. Furthermore, it increases the difficulty of analyzing essential information. And also, normally analyzing and executing the changes is relying on the domain knowledge of the human operators which is not an effective way.
To overcome the above mentioned issues, this research presents a cost-aware self-adaptive monitoring system for the software system called “Monitoring Lab”. The proposed solution analyses the system status and adjusts the metrics collection according to the detected system status. The proposed solution uses Self Organizing Map approach to catheterize the running status of the software system using the high level metrics and predicts the possibility of anomalies. High level metrics are the essential metrics that represent the other low level metrics and reflects the running status of the system. Second the proposed solution performs Correlation analysis between different metrics, finally change the metrics collection according to the detected system status and the anomaly types.
To evaluate the proposed solution, RUBiS benchmark and WSO2 Stream Processor are utilized. The experiments were repeated in the two different environmental setup several time to obtain the accurate results. The experimental results demonstrate that the proposed solution can adaptively change the metrics collection according to the system status in an effective way with the average accuracy of 87%. Furthermore, it shows that, the proposed solution reduces the considerable amount of the performance overhead without the inference of the system administrators.