Failures of Internet services and enterprise systems lead to user dissatisfaction and considerable loss of revenue. Since manual diagnosis is often laborious and slow, there is considerable interest in tools that can diagnose the cause of failures quickly and automatically from system-monitoring data. Fa uses monitoring data to construct a database of {\em failure signatures} against which data from undiagnosed failures can be matched. Two novel challenges we address are to make signatures robust to the noisy monitoring data in production systems, and to generate reliable confidence estimates for matches. Fa uses a new technique called {\em anomaly-based clustering} when thesignature database has no high-confidence match for an undiagnosed failure. This technique clusters monitoring data based on how it differs from the failure data, and pinpoints attributes linked to the failure. We show the effectiveness of Fa through a comprehensive experimental evaluation based on failures from a production setting, a variety of failures injected in a testbed, and synthetic data.
[1]
George Candea,et al.
Automatic failure-path inference: a generic introspection technique for Internet applications
,
2003,
Proceedings the Third IEEE Workshop on Internet Applications. WIAPP 2003.
[2]
Shivnath Babu,et al.
Proactive identification of performance problems
,
2006,
SIGMOD Conference.
[3]
Shivnath Babu,et al.
Guided Problem Diagnosis through Active Learning
,
2008,
2008 International Conference on Autonomic Computing.
[4]
Dimitrios Gunopulos,et al.
Locally adaptive metrics for clustering high dimensional data
,
2007,
Data Mining and Knowledge Discovery.
[5]
Graham Wood,et al.
Automatic Performance Diagnosis and Tuning in Oracle
,
2005,
CIDR.
[6]
Benoît Dageville,et al.
Self-Tuning for SQL Performance in Oracle Database 11g
,
2009,
2009 IEEE 25th International Conference on Data Engineering.
[7]
Soila Pertet,et al.
Causes of Failure in Web Applications (CMU-PDL-05-109)
,
2005
.