1. A method of predicting failures, comprising: storing in memory messages historically received that describe the failures; comparing, by a processor, text contained within the messages; determining, by the processor, a pattern in the text that precedes one of the failures; observing the pattern in the messages that are recently received; retrieving a template associated with the pattern; predicting a future failure based on observance of the pattern in the messages that are recently received; and predicting a location of the future failure based on the template.