A method of identifying a failure in a computer system, the computer system including a plurality of computers to be coupled to one another through a network and being configured to receive a plurality of messages from a terminal and send each of the plurality of messages to a destination apparatus,
- the plurality of computers each including a processor, a memory coupled to the processor, and a network interface coupled to the processor,
- the computer system including:
- at least one first computer including a message receiving part, a first log output part, and a first memory part configured to store receiving log data including a plurality of receiving logs;
- at least one second computer including a data store management part configured to manage a data store which is built from a storage area of the memory of the at least one second computer and stores the plurality of messages, a first search part, a second log output part, and a second memory part configured to store data store log data including a plurality of data store logs;
- at least one third computer including a message sending part, a third log output part, and a third memory part configured to store sending log data including a plurality of sending logs;
- and
- at least one fourth computer including a first monitoring part, a first log collecting part, a second search part, and a fourth memory part,
- the method including:
- a first step of receiving, by the message receiving part, the plurality of messages from the terminal;
- a second step of sending, by the message receiving part, a message storing request including the received plurality of messages to the data store management part;
- a third step of storing, by the data store management part, in the data store, the plurality of messages included in the message storing request;
- a fourth step of adding, by the first log output part, the plurality of receiving logs of the received plurality of messages to the receiving log data of the first memory part after receiving a first notification, which is a response to the message storing request, from the data store management part;
- a fifth step of sending, by the message sending part, a mail getting request to the data store management part;
- a sixth step of receiving, by the message sending part, from the data store management part, a second notification, which is a response to the mail getting request, and a plurality of mails;
- a seventh step of sending, by the message sending part, the received plurality of mails to the destination apparatus;
- an eighth step of adding, by the third log output part, a plurality of sending logs of the retrieved plurality of mails to the sending log data of the third memory part, after receiving a third notification, which informs that the retrieved plurality of mails have been received, is received from the destination apparatus;
- a ninth step of searching, by the first search part, for at least one of the plurality of messages that meets a given condition from among the plurality of messages stored in the data store;
- a tenth step of adding, by the second log output part, a data store log of the searched at least one of the plurality of messages to the data store log data that is stored in the second memory part;
- an eleventh step of monitoring, by the first monitoring part, a state of the data store;
- a twelfth step of obtaining, by the first log collecting part, the receiving log data from the first memory part, the data store log data from the second memory part, and the sending log data from the third memory part, respectively, in a case where a failure in the data store is detected by the first monitoring part;
- a thirteenth step of storing, by the first log collecting part, the receiving log data, the data store log data, and the sending log data in the fourth memory part;
- and
- a fourteenth step of searching, by the second search part, for at least one lost message of the plurality of messages, which has been lost due to the failure in the data store, by comparing the obtained receiving log data, data store log data, and sending log data.