WO2013008289A1 - メッセージ処理システム及びメッセージ処理方法 - Google Patents

メッセージ処理システム及びメッセージ処理方法 Download PDF

Info

Publication number
WO2013008289A1
WO2013008289A1 PCT/JP2011/065722 JP2011065722W WO2013008289A1 WO 2013008289 A1 WO2013008289 A1 WO 2013008289A1 JP 2011065722 W JP2011065722 W JP 2011065722W WO 2013008289 A1 WO2013008289 A1 WO 2013008289A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
server
message processing
unit
processing
Prior art date
Application number
PCT/JP2011/065722
Other languages
English (en)
French (fr)
Inventor
賢 海老澤
土井 正行
Original Assignee
グリー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by グリー株式会社 filed Critical グリー株式会社
Priority to US13/395,430 priority Critical patent/US10277452B2/en
Priority to PCT/JP2011/065722 priority patent/WO2013008289A1/ja
Priority to JP2012505911A priority patent/JP5496320B2/ja
Publication of WO2013008289A1 publication Critical patent/WO2013008289A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0604Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
    • H04L41/0609Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on severity or priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Definitions

  • the present invention relates to a message processing system and a message processing method, and more particularly to a message processing system and a message processing method for processing a message transmitted from a large number of monitoring target servers.
  • server monitoring When operating a server, it is necessary to perform server monitoring such as whether the server is operating properly.
  • server monitoring a diagnostic program for checking whether the server is operating properly is installed in the server, and when the server is not operating properly, an alert is sent to the server to take appropriate measures. To do.
  • This alert is a program message issued from a diagnostic program periodically executed on each server. For example, an error message when the capacity of the HDD (HardHdisk drive) included in the server exceeds a certain ratio or An error message telling you that there was a malicious connection to the server.
  • HDD HardHdisk drive
  • FIG. 15 is a diagram illustrating a system configuration example of a conventional server monitoring system. As shown in FIG. 15, each server group 110 to be monitored collects an error message, compares the error message and various values with an alert rule, and sends a mail as an alert mail to the person in charge of the failure. A server 210 is connected.
  • the alert received from each of the monitored servers 110 is determined based on a predetermined rule, and the like, and the like. To the person in charge of the failure to notify the person in charge of the failure of the occurrence of the abnormality. The reason for collecting the duplicate alerts is that if the alerts are not gathered, a large number of mails will reach the person in charge of the failure, and there is a problem in that it is difficult to quickly grasp the situation.
  • the present invention has been made in view of these points, and an object thereof is to provide a message processing system having excellent maintainability while ensuring availability.
  • a message distribution device connected to the transmission source server, Two or more message processing devices connected to the message distribution device, wherein the message processing device is a message processing means for processing a message transmitted from the transmission source server and received via the message distribution device;
  • Representative determination means for comparing the predetermined information set in the message information with the predetermined information set in another message processing device and determining whether or not the message processing means provided in the own device is representative, When it is determined by the representative determining means that it is representative, the message processing means responds to the message processed.
  • Notification means for performing the notification, wherein the message distribution device receives the first broadcast transmission means for transmitting the message received from the transmission source server to all the message processing devices, and the representative determination means.
  • a message processing system comprising: second broadcast transmission means for transmitting information of the message processing means to all other message processing apparatuses other than the message processing apparatus that has transmitted the information. .
  • the message processing means provided in each of the two or more message processing devices connected to the message distribution device processes the message transmitted from the transmission source server and received via the message distribution device.
  • the determining unit compares predetermined information set in the own device with predetermined information set in another message processing device, and determines whether or not the message processing unit provided in the own device is representative.
  • notification means is determined to be representative by the representative determination means, notification according to the message processed by the message processing means is performed.
  • the first broadcast transmission means provided in each of the message delivery devices connected to the transmission source server transmits the message received from the transmission source server to all the message processing devices, and the second The broadcast transmission means transmits the information of the message processing means received from the representative determination means to all other message processing apparatuses other than the message processing apparatus that transmitted the information.
  • a message distribution device is connected to the transmission source server, and a first broadcast processing is performed.
  • a second broadcast processing means, and two or more message processing devices are connected to the message delivery device, and comprise a message processing means, a representative determining means, and a notification means,
  • the broadcast processing means 2 receives the information of the message processing means received from the representative determining means other than the message processing apparatus that has sent the information.
  • the step of transmitting to all other message processing devices and the representative determining means compare the predetermined information set in the own device with the predetermined information set in the other message processing device, and provide it in the own device. Determining whether the received message processing means is representative, and when the notifying means is determined to be representative by the representative determining means, performs notification according to the message processed by the message processing means
  • a message processing method comprising: steps.
  • the message processing means provided in each of the two or more message processing devices connected to the message distribution device processes the message transmitted from the transmission source server and received via the message distribution device.
  • the determining unit compares predetermined information set in the own device with predetermined information set in another message processing device, and determines whether or not the message processing unit provided in the own device is representative.
  • notification means is determined to be representative by the representative determination means, notification according to the message processed by the message processing means is performed.
  • the first broadcast transmission means provided in each of the message delivery devices connected to the transmission source server transmits the message received from the transmission source server to all the message processing devices, and the second The broadcast transmission means transmits the information of the message processing means received from the representative determination means to all other message processing apparatuses other than the message processing apparatus that transmitted the information.
  • FIG. 1 is a diagram showing a system configuration example according to the present embodiment.
  • the server monitoring system 100 includes a monitoring target server 110, an alert receiving server 120, and a filter server 130.
  • the monitoring target server 110 is connected to the alert receiving server 120 and transmits a predetermined error message to the alert receiving server 120.
  • the alert receiving server 120 is connected to the filter server 130.
  • the monitoring target server 110 is a mail server, a WEB server, or the like, and a program for checking the state of the server is executed in each server. When the program detects an error in the server, an error message is transmitted to the alert receiving server 120.
  • the monitoring target server 110 constitutes a transmission source server in the present invention.
  • the alert receiving server 120 is provided with queues 121 and 123 and topics 122 and 124. Further, the filter server 130 is provided with a filter unit 131, a summarizing unit 132, and a mail transmission unit 133. The alert receiving server 120 constitutes a message delivery device in the present invention.
  • the queue 121 transmits the error message received from the monitoring target server 110 to one of the plurality of filter units 131.
  • the topic 122 transmits the error message after the filtering process received from the filter unit 131 to all the plurality of summarizing units 132.
  • the queue 123 transmits the error message after the summarization processing received from the summarization unit 132 to one mail transmission unit 133 among the plurality of mail transmission units 133.
  • the topic 124 transmits the information received from the summarizing unit 132 to the summarizing unit 132 other than the summarizing unit 132 that transmitted the information. For example, the topic 124 transmits the information received from the summarizing unit 132A to the summarizing units 132B and 132C.
  • each monitored server 110 is connected to each of the plurality of alert receiving servers 120.
  • the monitoring target server 110 selects one alert receiving server 120 from the plurality of alert receiving servers 120 and transmits an error message to the selected alert receiving server 120.
  • each alert receiving server 120 is connected to each of the plurality of filter servers 130.
  • the alert receiving server 120 transmits an error message to all the filter servers 130 or transmits an error message to one filter server 130 according to a predetermined condition.
  • two alert reception servers 120A and 120B are provided, and three filter servers 130A, 130B, and 130C are provided.
  • the queue 121A provided in the alert receiving server 120A and the queue 121B provided in the alert receiving server 120B have the same configuration.
  • the topic 122A provided in the alert receiving server 120A and the topic 122B provided in the alert receiving server 120B have the same configuration.
  • the queue 123A provided in the alert receiving server 120A and the queue 123B provided in the alert receiving server 120B have the same configuration.
  • the topic 124A provided in the alert receiving server 120A and the topic 124B provided in the alert receiving server 120B have the same configuration.
  • the topic 122 of the alert receiving server 120 constitutes the first broadcast transmission means in the present invention.
  • the topic 124 of the alert receiving server 120 constitutes the second broadcast transmission means in the present invention.
  • the filter unit 131A provided in the filter server 130A, the filter unit 131B provided in the filter server 130B, and the filter unit 131C provided in the filter server 130C have the same configuration. Further, the summarizing unit 132A provided in the filter server 130A, the summarizing unit 132B provided in the filter server 130B, and the summarizing unit 132C provided in the filter server 130C have the same configuration. Further, the mail transmission unit 133A provided in the filter server 130A, the mail transmission unit 133B provided in the filter server 130B, and the mail transmission unit 133C provided in the filter server 130C have the same configuration.
  • FIG. 2 is a diagram showing an outline of the configuration of the filter server.
  • the filter server 130 includes a filter unit 131, a summarizing unit 132, a mail transmission unit 133, a filtering rule storage unit 134, a message storage unit 135, and a transmission destination rule storage unit 136.
  • the filter server 130 constitutes a message processing device in the present invention.
  • the filter unit 131 and the summarizing unit 132 constitute message processing means in the present invention.
  • the mail transmission unit 133 constitutes notification means in the present invention.
  • the filtering rule storage unit 134 is connected to the filter unit 131 and stores the filtering rules used by the filter unit 131 for the filtering process.
  • the message storage unit 135 is connected to the summarization unit 132 and temporarily stores an error message for performing the summarization process.
  • the transmission destination rule storage unit 136 is connected to the mail transmission unit 133 and stores transmission rules.
  • the transmission rule is a condition for determining to which destination the mail is transmitted according to the type of error message.
  • the filter unit 131 When the filter unit 131 receives the error message transmitted from the monitoring target server 110, the filter unit 131 reads the filtering rule stored in the filtering rule storage unit 134, and performs a filtering process of the error message based on the filtering rule.
  • the filter unit 131 transmits an error message subjected to the filtering process to the alert receiving server 120.
  • it When connected to a plurality of alert receiving servers 120, it transmits to one alert receiving server 120.
  • the filter unit 131 sends another alert receiving server 120 to the new transmission. It is preferable to select as the destination.
  • the method of selecting the alert receiving server 120 as the transmission destination is not particularly limited, and for example, a round robin method or a method of selecting at random may be used.
  • the filter unit 131 receives an error message from the queue 121 of the alert receiving server 120.
  • the filter unit 131 periodically transmits a subscription signal to the queue 121 in order to receive an error message from the queue 121.
  • the summarizing unit 132 receives an error message from the topic 122 of the alert receiving server 120.
  • the summarizing unit 132 periodically transmits a subscription signal to the topic 122 in order to receive an error message from the topic 122.
  • the summarizing unit 132 receives information such as the IP address of the summarizing unit 132 provided in another filter server 130 from the topic 124 of the alert receiving server 120.
  • the summarizing unit 132 periodically transmits a subscription signal to the topic 124 in order to receive information such as the IP address of the summarizing unit 132 provided in the other filter server 130 from the topic 124.
  • the mail sending unit 133 receives an error message from the queue 123 of the alert receiving server 120.
  • the mail transmission unit 133 periodically transmits a subscription signal to the queue 123 in order to receive an error message from the queue 123.
  • the filtering process performed by the filter unit 131 matches a character string included in the error message with a character string set in the filtering rule, and an identifier indicating the importance of the error message associated with the matching character string. And so on.
  • error message is as follows. 192.0.2.1, www, “82% used on / home”
  • This error message is in a format delimited by commas, and shows the IP address of the monitored server 110 that transmitted the error message, the type of server of the monitored server 110, and the content of the alert from the beginning of the delimited part.
  • filtering rule is as follows. 1, critical, "PHP Fatal error” 2, critical, “Table. * Doesn't exist” 3, error, “% used on” 4, sign, "Statement is not safe to log in statement format”
  • This filtering rule is in a format delimited by commas, and it is assumed that a rule ID, an alert level, and a comparison character string are indicated from the head of the delimited portion.
  • the filter unit 131 compares the received error message with the comparison character string of each filtering rule. When a comparison character string is included in the error message, it is determined that the corresponding filtering rule is met. When the received error message matches a plurality of filtering rules, it is assumed that the filtering rule described first is matched among the matched filtering rules.
  • the filter unit 131 receives the error message having the above-described content and performs the filtering process based on the above-described filtering rule
  • the error message includes “% used on” set in the rule ID 3 in the filtering rule. Since the character string is included, it is determined that the alert level is “error”. Then, the rule ID and the alert level, which are the determination results, are added to the error message.
  • An example of an error message subjected to the above filtering process is shown below. 192.0.2.1, www, “82% used on / home”, 3, “error”
  • the summarizing unit 132 When the error message subjected to the filtering process is received from the filter unit 131, the summarizing unit 132 performs a summarizing process for collecting the same type of error messages at regular intervals while temporarily storing them in the message storage unit 135. The summarizing unit 132 transmits the error message subjected to the summarization process to the alert receiving server 120. When connected to a plurality of alert receiving servers 120, it transmits to one alert receiving server 120.
  • the method for selecting the alert receiving server 120 as the transmission destination is not particularly limited, and may be, for example, a round robin method or a method of selecting at random.
  • the summarization process performed by the summarization unit 132 is performed by collecting error messages having the same rule ID into one. Summarization processing for grouping messages is performed as follows. That is, by searching the message storage unit 135, one or more error messages having the same rule ID are acquired. Next, after removing the rule ID and alert level added by the filter unit 131 from each of the acquired error messages, each error message is concatenated into one error message. Thereafter, a common rule ID and alert level are added to the error message after connection.
  • the mail transmitting unit 133 Upon receiving the error message subjected to the summarization process from the summarizing unit 132, the mail transmitting unit 133 transmits the error message to a predetermined destination based on the destination rule stored in the destination rule storage unit.
  • the mail transmission unit 133 determines the associated mail address as the transmission destination.
  • An example of the destination rule is as follows. critical, alert-critical-ml @ example. jp error, alert-error-ml @ example. jp
  • the mail transmission unit 133 has the alert level “error”. It is determined that the transmission destination is “alert-error-ml@example.jp”.
  • the error message transmitted from the monitoring target server 110 is transmitted to a predetermined destination. At this time, not all error messages transmitted from the monitoring target server 110 are transmitted as they are, but a small number of error messages collected by the summarization process are transmitted.
  • the alert receiving server 120 includes the queue 121, the queue 123, the topic 122, and the topic 124.
  • FIG. 3 is a diagram showing an outline of the operation of a queue provided in the alert receiving server. As shown in FIG. 3, the queues 121 and 123 transmit the messages Msg 1 to 4 transmitted from the transmission source 140 to any one of the plurality of recipients 151 and 152.
  • the transmission source 140 is the monitoring target server 110, and the receivers 151 and 152 are the filter unit 131.
  • the transmission source 140 is the summarization unit 132, and the recipients 151 and 152 are the mail transmission unit 133.
  • the queues 121 and 123 When the queues 121 and 123 receive a message from the transmission source 140, the queues 121 and 123 temporarily store the message and transmit the message to the receiver 171 or the receiver 172. At this time, the queues 121 and 123 transmit messages to the recipients 151 and 152 in the order in which the messages are received.
  • the queue 121 receives a subscription signal, which is a signal for subscribing to a message transmitted from the queue 121, from the filter unit 131 of the filter server 130.
  • the queue 121 builds a subscriber list using the received subscription signal.
  • the subscription signal includes the IP address and port number of the filter server 130 that transmitted the subscription signal, and the queue 121 adds the IP address and port number included in the subscription signal to the subscriber list. To do.
  • the queue 121 selects one combination from the IP address and port number included in the subscriber list as a message destination.
  • the method for selecting the transmission destination is not particularly limited, and for example, a round robin method or a method of selecting at random may be used.
  • the queue 123 deletes the server from the subscriber list.
  • the queue 123 receives a subscription signal that is a signal for subscribing to a message transmitted from the queue 123 from the mail transmission unit 133 of the filter server 130.
  • the queue 123 builds a subscriber list using the received subscription signal.
  • the subscription signal includes the IP address and port number of the filter server 130 that transmitted the subscription signal, and the queue 123 adds the IP address and port number included in the subscription signal to the subscriber list. To do.
  • the queue 123 selects one combination from the IP addresses and port numbers included in the subscriber list as the message destination.
  • the method of selecting a transmission destination is not particularly limited as in the case of the queue 121 described above, and may be, for example, a round robin method or a method of selecting at random. Note that when there are three or more recipients, the recipients are selected one by one and transmitted in the same manner as described above.
  • FIG. 4 is a diagram showing an outline of topic operations provided in the alert receiving server. As illustrated in FIG. 4, the topic 122 transmits the messages Msg 1 and 2 transmitted from the transmission source 160 to the receivers 171 and 172.
  • the transmission source 160 is the filter unit 131, and the receivers 171 and 172 are all the summarization units 132.
  • the transmission source 160 is the summarization unit 132, and the receivers 171 and 172 are all the summarization units 132 other than the transmission source 160.
  • the topics 122 and 124 Upon receiving a message from the transmission source 160, the topics 122 and 124 temporarily store the message and transmit the message to the receiver 151 and the receiver 152. Even when there are three or more recipients, the message is transmitted to all recipients in the same manner as described above.
  • the topic 122 receives a subscription signal, which is a signal indicating that a message transmitted from the topic 122 is subscribed, from the summarizing unit 132 of the filter server 130.
  • the topic 122 builds a subscriber list using the received subscription signal.
  • the subscription signal includes the IP address and port number of the filter server 130 that transmitted the subscription signal, and the topic 122 adds the IP address and port number included in the subscription signal to the subscriber list. To do.
  • the topic 122 selects all IP addresses and port numbers included in the subscriber list as the message destination.
  • the topic 124 receives a subscription signal, which is a signal indicating that a message transmitted from the topic 124 is subscribed, from the summarizing unit 132 of the filter server 130.
  • the topic 124 builds a subscriber list using the received subscription signal.
  • the subscription signal includes the IP address and port number of the filter server 130 that transmitted the subscription signal, and the topic 124 adds the IP address and port number included in the subscription signal to the subscriber list. To do.
  • the topic 124 selects everything except the IP address and port number of the transmission source included in the subscriber list as the message transmission destination.
  • FIG. 5 is a diagram showing an overview of the movement of error messages between servers.
  • the queue 121 when receiving an error message transmitted from the monitoring target server 110, the queue 121 temporarily stores the error message, and this error message is stored in the filter unit 131A of the filter server 130A or the filter unit 131B of the filter server 130B. Send an error message to it.
  • the queue 121 temporarily stores the error message before sending it to the filter unit 131 for the following reason.
  • the monitored server 110 only needs to be configured to be able to only transmit an error message, and by transmitting an error message directly to the filter server 130 in a busy state, the filter server 130 transmits data related to the error message.
  • the topic 122, the queue 123, and the topic 124 temporarily store error messages received for the same reason.
  • the filter unit 131 When the error message is received from the queue 121, the filter unit 131 performs a process of adding an identifier indicating the importance level to the error message as a filtering process of the error message, and transmits the error message to the topic 122.
  • the topic 122 temporarily stores an error message when it is received from the filter unit 131, and transmits the error message to both the summarizing unit 132A and the summarizing unit 132B.
  • the summarizing unit 132 When the error message is received from the topic 122, the summarizing unit 132 continuously stores the error message for a certain period of time, performs a summarization process for collecting the same type of error message, and transmits the error message to the queue 123.
  • the summarizing unit 132A and the summarizing unit 132B are configured to receive the same error message and perform the same summarization process. However, if both the summarizing unit 132A and the summarizing unit 132B transmit the same summarization result to the queue 123, a large number of mails are delivered to the person in charge of the failure, which causes an inconvenience such as a trouble in quickly grasping the situation. As a result, only one of the summarizing sections 132A or 132B transmits the error message collected to the queue 123. Next, representative determination for determining which of the summarizing units 132A or 132B transmits error messages collected to the queue 123 will be described.
  • the summarizing unit 132 periodically transmits information on the own device to the topic 124.
  • the topic 124 transmits the transmitted information to all the summarizing units 132 other than the summarizing unit 132 that transmitted the information.
  • the topic 124 transmits the information to the summarizing unit 132B that is a summarizing unit other than the summarizing unit 132A that has transmitted the information.
  • the topic 124 transmits the information to the summarizing unit 132A that is a summarizing unit other than the summarizing unit 132B that has transmitted the information.
  • the summarizing unit 132 determines whether or not the own device is a representative based on information of all the summarizing units 132. For example, the condition that the information shared by each summarizing unit 132 is an IP address set in each of the filter servers 130 and the determination element as a representative is the smallest numerical value included in the IP address.
  • each summarizing section 132 compares the IP address sent from the other summarizing section 132 with its own IP address and determines that the numerical value included in its own IP address is the smallest, it represents itself. decide.
  • the summarizing unit 132 and the topic 124 constitute a representative determining unit in the present invention.
  • the queue 123 temporarily stores an error message when it is received from the summarizing unit 132A or 132B, and transmits the error message to the mail transmission unit 133A or the mail transmission unit 133B.
  • the mail transmission unit 133 When the mail transmission unit 133 receives an error message from the queue 123, the mail transmission unit 133 transmits the error message by mail based on a predetermined transmission rule.
  • the error message transmitted from the monitoring target server 110 is transmitted as a mail after reciprocating between the alert receiving server 120 and the filter server 130.
  • the transmission destination of error messages is not concentrated on a specific server, and the load is distributed. Further, since there are a plurality of alert receiving servers 120 and filter servers 130 and they are redundant, availability is ensured.
  • an error message is transmitted from the monitoring target server 110 to the queue 121, transmitted from the queue 121 to the filter unit 131, transmitted from the filter unit 131 to the topic 122, transmitted from the summarizing unit 132 to the queue 123. Since the error message is transmitted to any one of a plurality of components as in the case of being sent to the mail transmission unit 133 from the queue 123, the load is distributed unlike the complete mirror configuration. Is done.
  • FIG. 5 two filter servers 130 are shown and described for easy understanding of the operation.
  • FIG. 6 when the number of filter servers 130 is increased from two to three, the alert receiving server 120 and the filter server 130 are added. The operation of each of the 130 functions will be described.
  • FIG. 6 is a diagram illustrating a state where filter servers are added.
  • the queue 121 receives a subscription signal, which is a signal indicating that a message transmitted from the queue 121 is subscribed, from the filter unit 131 of the filter server 130.
  • the queue 121 builds a subscriber list using the received subscription signal.
  • the subscription signal includes the IP address and port number of the filter server 130 that transmitted the subscription signal, and the queue 121 adds the IP address and port number included in the subscription signal to the subscriber list. To do.
  • the queue 121 selects one combination from the IP address and port number included in the subscriber list as the transmission destination of the error message, and transmits the error message to any one of the filter units 131A, 131B, and 131C. .
  • the filter unit 131 When receiving the error message, the filter unit 131 transmits the error message subjected to the filtering process to the topic 122.
  • the topic 122 transmits the received error message to all of the summarization units 132A, 132B, and 132C.
  • the operation when the topic 122 transmits an error message to the summarizing unit 132 is the same as the operation of the queue 121 described above. That is, the topic 122 receives a subscription signal, which is a signal indicating that a message transmitted from the topic 122 is subscribed, from the summarizing unit 132 of the filter server 130. The topic 122 builds a subscriber list using the received subscription signal. Specifically, the subscription signal includes the IP address and port number of the filter server 130 that transmitted the subscription signal, and the topic 122 adds the IP address and port number included in the subscription signal to the subscriber list. To do. The topic 122 transmits the received error message to all of the summarizing units 132A, 132B, and 132C by selecting all the IP addresses and port numbers included in the subscriber list as the transmission destination of the error message.
  • a subscription signal which is a signal indicating that a message transmitted from the topic 122 is subscribed
  • the filter server 130C is added as a part of the server monitoring system 100, if the administrator prepares the filter server 130C having the same configuration as the filter servers 130A and 130B, the server monitoring is immediately performed. Since it can function as a part of the system 100, it can be said that the system is rich in expandability.
  • the summarizing units 132A, 132B, and 132C are based on the same rule.
  • the same error message is summarized.
  • the purpose of this is to reduce the total amount of error messages transmitted from the server monitoring system 100 by summarizing error messages transmitted in a certain period of time. This is because if the error message is transmitted in a distributed manner to the parts 132A, B, or C, the result of the respective summarization processes will be different, which is inappropriate.
  • the topic 124 is connected to the summarizing units 132A, 132B, and 132C, and each of the summarizing units 132A, 132B, and 132C transmits its own information to the topic 124.
  • the topic 124 transmits the received information of the summarizing unit 132 to the summarizing unit 132 other than the transmission source summarizing unit 132.
  • the summarizing unit 132A transmits its own information to the topic 124
  • the topic 124 transmits the received information to the summarizing units 132B and 132C.
  • each summarizing unit 132 also has information of the summarizing units 132 provided in the other filter servers 130. This information is, for example, the IP address of the filter server 130.
  • the summarizing units 132A, 132B, and 132C determine whether or not they are representative based on information received from the topic 124.
  • the summarizing unit 132 that has determined itself as a representative transmits an error message after the summarization processing to the queue 123.
  • the other summarizing units 132 do not transmit an error message.
  • the present invention is not limited to this.
  • the summarizing units 132A, 132B, and 132C may be configured to perform the summarizing process only when the summarizing units 132A, 132B, and 132C are selected as representatives.
  • FIG. 7 is a flowchart showing the procedure of the subscriber list construction process for constructing the queue subscriber list and topic subscriber list in the alert receiving server. It is. In the following, the subscriber list construction process shown in FIG. 7 will be described along with step numbers.
  • Step S11 Queues and topics provided in the alert receiving server 120 wait to receive an error message or a subscription signal from a subscriber.
  • a subscriber is a destination to which a queue and a topic send messages.
  • a subscriber of the queue 121 is the filter unit 131.
  • Step S12 The queue and topic provided in the alert receiving server 120 determine whether or not a subscription signal from the subscriber has been received. If a subscription signal has been received, the process proceeds to step S13. If a subscription signal has not been received, the process proceeds to step S14.
  • Step S13 The queues and topics provided in the alert receiving server 120 add the subscriber who transmitted the subscription signal to the subscriber list.
  • Step S14 The queue and topic provided in the alert receiving server 120 determine whether or not an error message from a predetermined sender has been received. If an error message has been received, the process proceeds to step S15. If no error message has been received, the process returns to step S11.
  • Step S15 Queues and topics provided in the alert receiving server 120 temporarily store received error messages and prepare to send error messages to subscribers or senders.
  • FIG. 8 is a flowchart showing a procedure of message transmission processing by queue and topic in the alert receiving server. In the following, the subscriber list construction process shown in FIG. 8 will be described along with step numbers.
  • the alert receiving server 120 reads the error message received and temporarily stored.
  • Step S22 The alert receiving server 120 determines whether the transmission destination of the read error message is a queue. If the destination is a queue, the process proceeds to step S23. If the destination is not a queue, that is, a topic, the process proceeds to step S25.
  • the alert receiving server 120 selects one subscriber from the subscriber list associated with the queue to which the read error message is sent.
  • Step S24 The alert receiving server 120 transmits an error message to the selected subscriber.
  • the alert receiving server 120 transmits an error message to all the subscribers in the subscriber list associated with the topic to which the read error message is transmitted.
  • Step S26 The alert receiving server 120 discards the transmitted error message.
  • FIG. 9 is a flowchart showing the procedure of server monitoring processing by the monitoring program installed in the monitoring target server. In the following, the process illustrated in FIG. 9 will be described in order of step number.
  • the monitoring target server 110 executes a program for checking the status of the monitoring target server 110 (hereinafter referred to as a monitoring program), and checks the status of the monitoring target server 110.
  • Step S32 The monitoring program determines whether an abnormality has occurred in the monitoring target server 110. When it is determined that an abnormality has occurred in the monitored server 110, the process proceeds to step S33, and when it is determined that no abnormality has occurred, the process proceeds to step S34.
  • the abnormality that has occurred in the monitoring target server 110 is, for example, when the remaining disk capacity of the monitoring target server 110 falls below a predetermined rate.
  • Step S33 The monitoring program transmits to the alert receiving server 120 an error message that is information relating to an abnormality that has occurred in the monitored server 110.
  • the destination alert receiving server is changed every time transmission is performed so that the load is not concentrated on a certain alert receiving server.
  • the monitoring program When the monitoring program sends an error message to the alert receiving server 120, the monitoring program queries the DNS server for the IP address of the alert receiving server 120 based on the domain name of the alert receiving server 120 set in advance in the monitoring program. I do. Even when there are a plurality of alert receiving servers 120, the domain names of the alert receiving servers 120 are common.
  • the DNS server stores a list of IP addresses of each alert receiving server in association with the domain name of the alert receiving server 120.
  • the monitoring program receives the list associated with the domain name of the alert receiving server 120, selects one IP address at random from a plurality of IP addresses set in the list, and assigns the address.
  • An error message is transmitted to the queue 121 of the alert receiving server 120 that has been sent.
  • the monitoring program may directly send an error message to the filter unit 131 of the filter server 130, but the filter server 130 performs a filtering process, a summarization process, and a mail transmission, and therefore the load tends to increase. Therefore, when the filter server 130 is busy, the filter unit 131 of the filter server 130 may not receive the error message transmitted from the monitoring program.
  • an error message is transmitted to the filter unit 131 via the queue 121. Since the queue 121 temporarily stores the error message, the monitoring program can transmit the message even when the filter server 130 is busy, and the error message may be lost or the monitoring target server may be monitored. Problems such as leakage can be avoided. On the other hand, since the filter server 130 can receive the error message stored from the queue 121 after recovering from the busy state, the subsequent processing can be continued without any problem.
  • Step S34 The monitoring program enters a standby state for a certain time. For example, if a determination program for determining whether a server abnormality has occurred is executed every 5 minutes, the system waits for 5 minutes.
  • the content is notified to either the alert receiving server 120A or the alert receiving server 120B as an error message.
  • the queue 121 mounted on the alert receiving server 120 transmits the error message to the filter server 130.
  • the filter server as the transmission destination is changed every time transmission is performed so that the load is not concentrated on a certain filter server.
  • redundancy can be realized by changing the transmission destination to another filter server.
  • FIG. 10 is a flowchart showing the procedure of the filtering process by the filter unit of the filter server. Hereinafter, the filtering process illustrated in FIG. 10 will be described in order of step number.
  • Step S41 The filter unit 131 reads the filtering rule stored in the filtering rule storage unit 134.
  • the filter unit 131 is connected to all the alert receiving servers 120 and transmits a subscription signal, which is a signal for subscribing the queue 121, to the queue 121.
  • the filter unit 131 makes an inquiry to the DNS server using the domain name of the alert receiving server 120, so that all alerts that can be selected as transmission destinations from IP addresses registered in association with the domain name of the alert receiving server 120 are displayed.
  • the IP address of the receiving server can be acquired.
  • Step S43 The filter unit 131 determines whether the alert receiving server 120 has been added or changed. When it is determined that there is an addition or a change, the process returns to step S42, and when it is determined that there is no addition or a change, the process proceeds to step S44.
  • the filter unit 131 In order for the filter unit 131 to know whether the alert receiving server 120 has been added or changed, for example, it is registered in association with the server name of the alert receiving server 120 set in advance, which was acquired when the DNS server was previously inquired. This can be done by storing a list of IP addresses that have been stored and comparing it with the list acquired this time.
  • Step S44 The filter unit 131 enters a standby state for waiting for an error message received from the alert receiving server 120.
  • Step S45 The filter unit 131 determines whether an error message has been received from the alert receiving server 120 within a predetermined time. If an error message has been received, the process proceeds to step S46. If no error message has been received, the process returns to step S43.
  • Step S46 The filter unit 131 compares the received error message with a filtering rule that has been read in advance.
  • the filter unit 131 determines the alert level of the received error message using the filtering rule.
  • this determination method for example, a certain character string included in the error message is set as a rule, and the determination is made based on whether or not the character string is included in the error message.
  • Step S48 The filter unit 131 adds an identifier that is information indicating an alert level and a rule ID to the received error message.
  • Step S49 The filter unit 131 determines whether to discard the received error message. If it is determined to be discarded, the process returns to step S43. If it is determined not to be discarded, the process proceeds to step S50. For example, the filter unit 131 discards an error message whose alert level is equal to or lower than a predetermined level.
  • the filter unit 131 may be configured to discard the error message when the content included in the error message corresponds to a predetermined discard criterion. For example, the body of an error message transmitted when there is no actual problem may be stored in advance as a discard criterion.
  • Step S50 The filter unit 131 transmits an error message to the topic 122 of the alert receiving server 120. At this time, an error message is transmitted to another alert receiving server every time it is transmitted so that the load is not concentrated on a certain alert receiving server.
  • This process transmits an error message with an alert level added to the alert receiving server 120. Further, since alerts determined to have an alert level lower than a predetermined level are discarded, an error message with a low alert level is not subjected to subsequent processing, and traffic to the entire server monitoring system 100 can be reduced. It becomes.
  • the topic 122 When the topic 122 receives the error message to which the alert level is added, the topic 122 transmits the error message to which the alert level is added to all the connected filter servers 130.
  • FIG. 11 is a flowchart showing a procedure of error message storage processing by the summarization unit of the filter server. In the following, the error message storage process shown in FIG. 11 will be described in order of step number.
  • the summarizing unit 132 transmits a signal indicating that the topic 122 is subscribed to all the alert receiving servers 120 to the topic 122.
  • the summarizing unit 132 makes an inquiry to the DNS server by using the domain name of the alert receiving server 120, thereby making it possible to select all alerts that can be selected as transmission destinations from the IP addresses registered in association with the domain name of the alert receiving server 120.
  • the IP address of the receiving server can be known.
  • Step S52 The summarizing unit 132 determines whether the alert receiving server 120 has been added or changed. If it is determined that there is an addition or change, the process returns to step S51. If it is determined that there is no addition or change, the process proceeds to step S53.
  • the summarizing unit 132 In order for the summarizing unit 132 to know whether the alert receiving server 120 has been added or changed, for example, it is registered in association with the server name of the alert receiving server 120 set in advance acquired when the DNS server is inquired last time. This can be done by storing a list of IP addresses that have been stored and comparing it with the list acquired this time.
  • Step S53 The summarizing unit 132 enters a standby state for waiting for receiving an error message from the alert receiving server 120.
  • Step S54 The summarizing unit 132 determines whether an error message from the alert receiving server 120 has been received. If an error message has been received, the process proceeds to step S55. If no error message has been received, the process returns to step S52.
  • Step S55 The summarizing unit 132 acquires the rule ID added to the received error message.
  • Step S56 The summarizing unit 132 determines whether the reception history corresponding to the acquired rule ID is stored in the message storage unit 135. If stored, the process proceeds to step S57. If not stored, the process proceeds to step S58.
  • Step S57 The summarizing unit 132 adds an error message including a new address to an error message having a common rule ID among the error messages stored in the message storage unit 135. At this time, the last update date is stored.
  • the new address here is the address of the monitoring target server 110 that transmitted the error message.
  • Step S58 The summarizing unit 132 stores the acquired error message in the message storage unit 135. At this time, the last update date is stored.
  • Step S59 The summarizing unit 132 transmits an error message to the predetermined queue 123.
  • the error message is sent to the mail sending unit 133 via the queue 123, and is sent to the person in charge as, for example, mail.
  • the second and subsequent similar error messages are stored, and the first error message is immediately transmitted to the person in charge by e-mail.
  • summarization unit 132 may directly send an email to the person in charge instead of sending an error message to the queue 123.
  • FIG. 12 is a flowchart illustrating a procedure of error message summarization processing and transmission processing by the summarizing unit of the filter server. In the following, the error message transmission process shown in FIG. 12 will be described in order of step number.
  • Step S61 The summarizing unit 132 determines whether an error message is stored in the message storage unit 135. When it is stored, the process proceeds to step S62, and when it is not stored, the process proceeds to step S63.
  • Step S62 The summarizing unit 132 sequentially acquires the stored error message information one by one. Here, when error messages of the same type are collected, the collection is acquired as one.
  • Step S63 The summarizing unit 132 waits for a certain time.
  • Step S64 The summarizing unit 132 determines whether a predetermined time or more has elapsed since the last update date and time of the stored error message. If the predetermined time or longer has elapsed, the process proceeds to step S65. If the predetermined time or longer has not elapsed, the process returns to step S61.
  • Step S65 The summarizing unit 132 transmits the one error message created in step S62 to the predetermined queue 123.
  • Step S66 The summarizing unit 132 deletes, from the message storage unit 135, the error message that is the source of the transmitted error message (the error message that has been transmitted from the monitoring target server 110 and has not been collected).
  • FIG. 13 is a flowchart showing the procedure of mail transmission processing by the mail transmission unit. In the following, the mail transmission process shown in FIG. 13 will be described in order of step number.
  • Step S71 The mail transmission unit 133 reads the transmission destination rule stored in the transmission destination rule storage unit 136.
  • the mail transmission unit 133 is connected to all the alert receiving servers 120 and transmits a signal indicating that the queue 123 is subscribed to the queue 123. In order to know how many alert reception servers 120 are currently connected, the mail transmission unit 133 makes an inquiry to the DNS server and registers the IP registered in association with the server name of the alert reception server 120 set in advance. You can know from the address.
  • Step S73 The mail transmission unit 133 determines whether the alert receiving server 120 has been added or changed. If it is determined that there is an addition or change, the process returns to step S72. If it is determined that there is no addition or change, the process proceeds to step S74.
  • the mail transmitting unit 133 In order for the mail transmitting unit 133 to know whether the alert receiving server 120 has been added or changed, for example, the mail transmitting unit 133 is associated with the server name of the alert receiving server 120 set in advance acquired when the DNS server is inquired last time. This can be done by storing a list of registered IP addresses and comparing it with the list acquired this time.
  • Step S74 The mail transmission unit 133 enters a standby state where it waits for an error message received from the alert receiving server 120.
  • Step S75 The mail transmission unit 133 determines whether an error message has been received from the queue 123 within a certain time. If an error message has been received, the process proceeds to step S76. If no error message has been received, the process returns to step S73.
  • Step S76 The mail transmission unit 133 compares the transmission destination rule read in advance with the received error message, and determines the mail transmission destination of the error message.
  • Step S77 The mail transmission unit 133 creates a mail text from the content of the error message.
  • Step S78 The mail transmission unit 133 transmits the created mail.
  • the error message transmitted from the monitoring program installed in the monitoring target server 110 is sent back and forth between the alert receiving server 120 and the filter server 130 by e-mail, so that a certain alert receiving server 120 is sent.
  • a server having the same configuration as that of the alert receiving server 120 or the filter server 130 that has been conventionally operated is prepared and registered in the DNS server, Since it can be operated as a part of the server monitoring system 100 without changing the setting, the work load is small, the maintainability is excellent, and easy expansion is possible.
  • the server monitoring system 100 includes an alert receiving server 120 connected to the monitoring target server 110 and two or more filter servers 130 connected to the alert receiving server 120. . Then, the error message received by the filter unit 131, the summarizing unit 132, and the mail transmission unit provided in the filter server 130 is processed. Specifically, first, the topic 122 provided in the alert receiving server 120 transmits an error message to all the filter servers 130. Next, the topic 124 provided in the alert receiving server 120 transmits the information of the filter server 130 received from the summarizing unit 132 provided in one filter server 130 to the other filter server 130.
  • the summarizing unit 132 of the filter server 130 compares predetermined information (for example, an IP address) set in the own device with predetermined information set in another filter server 130, and is it representative? Decide whether or not. Then, the mail transmission unit 133 of the filter server 130 determined to be representative transmits an error message to a predetermined destination.
  • predetermined information for example, an IP address
  • the representative filter server 130 is determined according to predetermined information (for example, the IP address of each filter server 130) transmitted and received with each other via the topic 124 provided in the alert receiving server 120.
  • predetermined information for example, the IP address of each filter server 130
  • the filter server 130 determined as a representative becomes inoperable due to a failure or the like, or when a filter server 130 is newly added, a new one is automatically created.
  • a representative is determined. Accordingly, since error message processing can be operated without changing the setting of each server each time a server is added, a message processing system having excellent maintainability and availability can be provided.
  • the mail transmission unit 133 is configured to transmit an error message by transmitting a mail to the person in charge of the failure. You may use notification functions, such as a messenger.
  • the filtering rule storage unit 134, the message storage unit 135, and the transmission destination rule storage unit 136 are provided in the filter server 130.
  • the filtering rule storage unit 134, the message The storage unit 135 and the transmission destination rule storage unit 136 may be provided outside the filter server 130.
  • FIG. 14 is a diagram showing an overview of the flow of error messages when two topics receive an error message after filtering processing.
  • a topic 125 is newly provided.
  • the topic 125 is provided in the alert receiving server 120.
  • the filter unit 131 When the filter unit 131 receives an error message transmitted from the monitoring target server 110 via the queue 121, the filter unit 131 transmits an error message determined to be high as a result of filtering processing to the topic 122, and has high importance. An error message determined not to be transmitted is transmitted to the topic 125.
  • the topic 125 When the topic 125 receives an error message determined not to have a high importance, the topic 125 transmits an error message to the report unit 137.
  • the report unit 137 accumulates an error message for a certain time (for example, 1 hour) and transmits it to a receiver 180 such as a person in charge of failure.
  • the mail transmitted from the mail transmitting unit 133 to the receiver 180 is transmitted to the mobile phone, and the mail transmitted from the report unit 137 is transmitted to the computer. It can be determined that the failure is important and needs to be addressed immediately, and the failure described in the mail sent to the computer is low in importance but can be confirmed.
  • the topic 125 transmits a message to all the report units 137, and the topic 125 determined as the representative is displayed. As with the topic 122, it is preferable that only the mail is transmitted to the recipient 180.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】可用性を担保しつつ、保守性に優れたメッセージ処理システムを提供する。 【解決手段】フィルタ部131が、監視対象サーバ110から送信されたエラーメッセージの重要度を判断し、フィルタリング処理を行い、キュー121が、フィルタ部131がフィルタリング処理した後のエラーメッセージを受信し、全サマライズ部132へ送信する。そして、サマライズ部132が、フィルタ部131がフィルタリング処理した後のエラーメッセージについて同種類のエラーメッセージをまとめるサマライズ処理を行い、トピック122が、一のサマライズ部132からサマライズ処理した後のエラーメッセージを受信し、サマライズ部132がサマライズ処理した後のエラーメッセージについてメール送信により報知するメール送信部133のうち1のメール送信部を選択し、選択したメール送信部133へエラーメッセージを送信する。

Description

メッセージ処理システム及びメッセージ処理方法
 本発明は、メッセージ処理システム及びメッセージ処理方法に関し、特に多数の監視対象サーバから送信されるメッセージを処理するメッセージ処理システム及びメッセージ処理方法に関する。
 サーバを運用するにあたって、当該サーバが適切な動作をしているかなどのサーバ監視を行う必要がある。このサーバ監視においては、サーバが適切な動作を行っているかの診断プログラムをサーバに実装し、サーバが適切な動作をしていないときはアラートを通知することにより、サーバに対して適切な対処をする。
 このアラートとは、各サーバにおいて定期的に実行される診断プログラムから発せられるプログラムメッセージであって、たとえば、サーバが備えるHDD(Hard disk drive)の容量の一定割合以上になったときのエラーメッセージや、サーバに対する悪意ある接続があったことを伝えるエラーメッセージ等である。
 図15は、従来のサーバ監視システムのシステム構成例を示す図である。
 図15に示すように、監視対象の各サーバ群110には、エラーメッセージを収集し、そのエラーメッセージや各種値と、アラートルールを比較し、アラートメールとして障害担当者などにメールを送信するセンタサーバ210が接続されている。
 このセンタサーバ210においては、各監視対象サーバ110から受信したアラートについて、所定のルールに基づいて重要度等を判定し、重複するアラートをまとめる処理等を行った後、アラート内容をメールなどで所定の宛先に送信して、障害担当者に異常発生を通知する構成となっている。重複するアラートをまとめる処理を行うのは、アラートをまとめないと、障害担当者に多数のメールが届いてしまい、迅速な事態の把握に支障が生じる問題があるためである。
 また、監視システムの可用性を担保するために複数のサーバが設けられており、運用系のサーバと待機系のサーバを有し、運用系のサーバに障害があったときに待機系のサーバに切り替えるサーバシステムも提案されている(たとえば、特許文献1参照)。
特開2006-058960号公報
 しかし、従来の構成によると監視対象のサーバ数が多くなることによって、センタサーバ210が処理するデータ量が輻輳してダウンなどして処理を行えなくなると、すべての監視対象サーバ110を監視することができなくなってしまうという問題があった。
 また、センタサーバ210を変更するときには、都度、新たなセンタサーバ210に監視対象サーバ110それぞれに関する情報を付加し、さらに監視対象サーバ110それぞれの設定を変更しなければならず、保守を行う際の作業負担が大きいという問題があった。
 本発明はこのような点に鑑みてなされたものであり、可用性を担保しつつ、保守性に優れたメッセージ処理システムを提供することを目的とする。
 本発明では上記問題を解決するために、送信元サーバからのメッセージを受信し、前記受信したメッセージに応じた処理を行うメッセージ処理システムにおいて、前記送信元サーバと接続されたメッセージ配信装置と、前記メッセージ配信装置と接続された2以上のメッセージ処理装置とを備え、前記メッセージ処理装置は、前記送信元サーバから送信され、メッセージ配信装置を介して受信したメッセージを処理するメッセージ処理手段と、自装置に設定された所定の情報と、他のメッセージ処理装置に設定された所定の情報とを比較し、自装置に設けられたメッセージ処理手段が代表であるか否かを決定する代表決定手段と、前記代表決定手段によって代表であると決定されたとき、前記メッセージ処理手段が処理したメッセージに応じた報知を行う報知手段とを備え、前記メッセージ配信装置は、前記送信元サーバから受信したメッセージをすべての前記メッセージ処理装置に送信する第1の同報送信手段と、前記代表決定手段から受信した前記メッセージ処理手段の情報を、当該情報を送信したメッセージ処理装置以外の他のすべてのメッセージ処理装置に送信する第2の同報送信手段とを備えることを特徴とするメッセージ処理システムが提供される。
 これにより、前記メッセージ配信装置と接続された2以上のメッセージ処理装置のそれぞれに設けられたメッセージ処理手段が、前記送信元サーバから送信され、メッセージ配信装置を介して受信したメッセージを処理し、代表決定手段が、自装置に設定された所定の情報と、他のメッセージ処理装置に設定された所定の情報とを比較し、自装置に設けられたメッセージ処理手段が代表であるか否かを決定し、報知手段が、前記代表決定手段によって代表であると決定されたとき、前記メッセージ処理手段が処理したメッセージに応じた報知を行う。また、前記送信元サーバと接続されたメッセージ配信装置のそれぞれに設けられた第1の同報送信手段が、前記送信元サーバから受信したメッセージをすべての前記メッセージ処理装置に送信し、第2の同報送信手段が、前記代表決定手段から受信した前記メッセージ処理手段の情報を、当該情報を送信したメッセージ処理装置以外の他のすべてのメッセージ処理装置に送信する。
 また、本発明では、送信元サーバからのメッセージを受信し、前記受信したメッセージに応じた処理を行うメッセージ処理方法において、メッセージ配信装置が、前記送信元サーバと接続され、第1の同報処理手段と、第2の同報処理手段とを備え、2以上のメッセージ処理装置が、前記メッセージ配信装置と接続され、メッセージ処理手段と、代表決定手段と、報知手段とを備え、第1の同報送信手段が、前記送信元サーバから受信したメッセージをすべての前記メッセージ処理装置に送信するステップと、メッセージ処理手段が、前記第1の同報送信手段から受信したメッセージを処理するステップと、第2の同報送信手段が、代表決定手段から受信した前記メッセージ処理手段の情報を、当該情報を送信したメッセージ処理装置以外の他のすべてのメッセージ処理装置に送信するステップと、代表決定手段が、自装置に設定された所定の情報と、他のメッセージ処理装置に設定された所定の情報とを比較し、自装置に設けられたメッセージ処理手段が代表であるか否かを決定するステップと、報知手段が、前記代表決定手段によって代表であると決定されたとき、前記メッセージ処理手段が処理したメッセージに応じた報知を行うステップとを含むことを特徴とするメッセージ処理方法が提供される。
 これにより、前記メッセージ配信装置と接続された2以上のメッセージ処理装置のそれぞれに設けられたメッセージ処理手段が、前記送信元サーバから送信され、メッセージ配信装置を介して受信したメッセージを処理し、代表決定手段が、自装置に設定された所定の情報と、他のメッセージ処理装置に設定された所定の情報とを比較し、自装置に設けられたメッセージ処理手段が代表であるか否かを決定し、報知手段が、前記代表決定手段によって代表であると決定されたとき、前記メッセージ処理手段が処理したメッセージに応じた報知を行う。また、前記送信元サーバと接続されたメッセージ配信装置のそれぞれに設けられた第1の同報送信手段が、前記送信元サーバから受信したメッセージをすべての前記メッセージ処理装置に送信し、第2の同報送信手段が、前記代表決定手段から受信した前記メッセージ処理手段の情報を、当該情報を送信したメッセージ処理装置以外の他のすべてのメッセージ処理装置に送信する。
 本発明によれば、可用性を担保しつつ、保守性に優れたメッセージ処理システムを提供することができる。
本実施の形態に係るシステム構成例を示す図である。 フィルタサーバの動作の概要を示す図である。 アラート受信サーバに設けられているキューの動作の概要を示す図である。 アラート受信サーバに設けられているトピックの動作の概要を示す図である。 エラーメッセージのサーバ間の動きの概要を示す図である。 フィルタサーバを増設した状態を示す図である。 アラート受信サーバにおけるキューの購読者リストおよびトピックの購読者リストを構築する購読者リスト構築処理の手順を示すフローチャートである。 アラート受信サーバにおけるキューおよびトピックによるメッセージ送信処理の手順を示すフローチャートである。 監視対象サーバに実装されている監視プログラムによるサーバ監視処理の手順を示すフローチャートである。 フィルタ部によるフィルタリング処理の手順を示すフローチャートである。 サマライズ部によるエラーメッセージ記憶処理の手順を示すフローチャートである。 サマライズ部によるエラーメッセージ送信処理の手順を示すフローチャートである。 メール送信部によるメール送信処理の手順を示すフローチャートである。 フィルタリング処理後のエラーメッセージを2つのトピックが受け取るときのエラーメッセージの流れの概要を示した図である。 従来のサーバ監視システムのシステム構成例を示す図である。
 以下、本発明の実施の形態を図面を参照して詳細に説明する。
 (1)サーバ監視システムの全体概略構成
 図1は、本実施の形態に係るシステム構成例を示す図である。
 図1に示すように、サーバ監視システム100は、監視対象サーバ110、アラート受信サーバ120、およびフィルタサーバ130から構成されている。
 監視対象サーバ110は、アラート受信サーバ120に接続されており、アラート受信サーバ120に対して所定のエラーメッセージを送信する。また、アラート受信サーバ120は、フィルタサーバ130と接続されている。
 監視対象サーバ110は、メールサーバやWEBサーバなどであり、それぞれのサーバにおいて当該サーバの状態をチェックするプログラムが実行される。プログラムが当該サーバのエラーを検出すると、アラート受信サーバ120へエラーメッセージを送信する。監視対象サーバ110は、本発明における送信元サーバを構成する。
 アラート受信サーバ120には、キュー121、123、およびトピック122、124が設けられている。また、フィルタサーバ130には、フィルタ部131、サマライズ部132、およびメール送信部133が設けられている。アラート受信サーバ120は、本発明におけるメッセージ配信装置を構成する。
 キュー121は、監視対象サーバ110から受け取ったエラーメッセージを、複数あるフィルタ部131のうち一のフィルタ部131にエラーメッセージを送信する。
 トピック122は、フィルタ部131から受け取ったフィルタリング処理後のエラーメッセージを、複数あるすべてのサマライズ部132にエラーメッセージを送信する。
 キュー123は、サマライズ部132から受け取ったサマライズ処理後のエラーメッセージを、複数あるメール送信部133のうち一のメール送信部133にエラーメッセージを送信する。
 トピック124は、サマライズ部132から受け取った情報を、その情報を送信したサマライズ部132以外のサマライズ部132へ送信する。たとえば、トピック124は、サマライズ部132Aから受け取った情報を、サマライズ部132B,および132Cへ送信する。
 アラート受信サーバ120は、負荷分散のために複数設けられることが好ましい。アラート受信サーバ120が複数あるときは、各監視対象サーバ110は複数のアラート受信サーバ120のそれぞれに接続される。監視対象サーバ110は、複数のアラート受信サーバ120の中から一のアラート受信サーバ120を選択し、選択されたアラート受信サーバ120に対してエラーメッセージを送信する。また、フィルタサーバ130が複数あるときは、各アラート受信サーバ120は複数のフィルタサーバ130のそれぞれに接続される。アラート受信サーバ120は、所定の条件に応じて、全てのフィルタサーバ130にエラーメッセージを送信したり、一のフィルタサーバ130にエラーメッセージを送信したりする。
 本実施の形態においては、アラート受信サーバ120A、120Bの2つが設けられており、フィルタサーバ130A、130B、130Cの3つが設けられているものとして説明する。
 このとき、アラート受信サーバ120Aに設けられているキュー121Aと、アラート受信サーバ120Bに設けられているキュー121Bとは同じ構成である。また、アラート受信サーバ120Aに設けられているトピック122Aと、アラート受信サーバ120Bに設けられているトピック122Bとは同じ構成である。さらに、アラート受信サーバ120Aに設けられているキュー123Aと、アラート受信サーバ120Bに設けられているキュー123Bとは同じ構成である。アラート受信サーバ120Aに設けられているトピック124Aと、アラート受信サーバ120Bに設けられているトピック124Bとは同じ構成である。アラート受信サーバ120のトピック122は、本発明における第1の同報送信手段を構成する。また、アラート受信サーバ120のトピック124は、本発明における第2の同報送信手段を構成する。
 また、フィルタサーバ130Aに設けられているフィルタ部131A、フィルタサーバ130Bに設けられているフィルタ部131B、およびフィルタサーバ130Cに設けられているフィルタ部131Cは同じ構成である。また、フィルタサーバ130Aに設けられているサマライズ部132A、フィルタサーバ130Bに設けられているサマライズ部132B、およびフィルタサーバ130Cに設けられているサマライズ部132Cは同じ構成である。さらに、フィルタサーバ130Aに設けられているメール送信部133A、フィルタサーバ130Bに設けられているメール送信部133B、およびフィルタサーバ130Cに設けられているメール送信部133Cは同じ構成である。
 (2)フィルタサーバの構成
 図2は、フィルタサーバの構成の概要を示す図である。
 図2に示すように、フィルタサーバ130は、フィルタ部131と、サマライズ部132と、メール送信部133と、フィルタリングルール記憶部134と、メッセージ記憶部135と、送信先ルール記憶部136とを備える。フィルタサーバ130は、本発明におけるメッセージ処理装置を構成する。フィルタ部131、サマライズ部132は、本発明におけるメッセージ処理手段を構成する。メール送信部133は、本発明における報知手段を構成する。
 フィルタリングルール記憶部134は、フィルタ部131に接続されており、フィルタ部131がフィルタリング処理に用いるフィルタリングルールを記憶する。メッセージ記憶部135は、サマライズ部132に接続されており、サマライズ処理をするためにエラーメッセージを一時的に記憶する。送信先ルール記憶部136は、メール送信部133に接続されており、送信ルールを記憶する。送信ルールは、エラーメッセージの種類に応じてどの送信先にメールを送信するかを決定するための条件である。
 フィルタ部131は、監視対象サーバ110から送信されたエラーメッセージを受信すると、フィルタリングルール記憶部134に記憶されているフィルタリングルールを読みだして、そのフィルタリングルールに基づいてエラーメッセージのフィルタリング処理を行う。フィルタ部131は、フィルタリング処理が施されたエラーメッセージをアラート受信サーバ120に送信する。複数のアラート受信サーバ120に接続している場合には、1つのアラート受信サーバ120に対して送信する。フィルタ部131は、送信先として選択したアラート受信サーバ120に対してエラーメッセージを送信できない場合、たとえば、当該アラート受信サーバ120が応答しない等の場合には、別のアラート受信サーバ120を新たな送信先として選択することが好ましい。なお、送信先とするアラート受信サーバ120の選択方法は特に限定されるものではなく、たとえば、ラウンドロビン方式であってもよいし、ランダムに選択する方法でもよい。
 フィルタ部131は、アラート受信サーバ120のキュー121から、エラーメッセージを受信する。フィルタ部131は、キュー121からエラーメッセージを受信するために、キュー121に対して定期的に購読信号を送信する。
 サマライズ部132は、アラート受信サーバ120のトピック122から、エラーメッセージを受信する。サマライズ部132は、トピック122からエラーメッセージを受信するために、トピック122に対して定期的に購読信号を送信する。また、サマライズ部132は、アラート受信サーバ120のトピック124から、他のフィルタサーバ130に設けられたサマライズ部132のIPアドレスなどの情報を受信する。サマライズ部132は、トピック124から他のフィルタサーバ130に設けられたサマライズ部132のIPアドレスなどの情報を受信するために、トピック124に対しても定期的に購読信号を送信する。
 メール送信部133は、アラート受信サーバ120のキュー123から、エラーメッセージを受信する。メール送信部133は、キュー123からエラーメッセージを受信するために、キュー123に対して定期的に購読信号を送信する。
 フィルタ部131が行うフィルタリング処理は、たとえばエラーメッセージに含まれる文字列と、フィルタリングルールに設定されている文字列を照合し、一致する文字列に関連づけられている、エラーメッセージの重要度を示す識別子などを付加することにより行う。
 エラーメッセージの一例をあげると以下の通りである。
 192.0.2.1, www, ”82% used on /home”
 このエラーメッセージはカンマで区切られた形式であって、区切られた部分の先頭から、エラーメッセージを送信した監視対象サーバ110のIPアドレス、監視対象サーバ110のサーバの種類、アラートの内容を示しているとする。
 一方、フィルタリングルールの一例をあげると以下の通りである。
 1, critical, ”PHP Fatal error”
 2, critical, ”Table .* doesn’t exist”
 3, error, ”% used on”
 4, ignore, ”Statement is not safe to log in statement format”
 このフィルタリングルールはカンマで区切られた形式であって、区切られた部分の先頭から、ルールID、アラートレベル、比較文字列を示しているとする。
 フィルタ部131は、受信したエラーメッセージと、フィルタリングルールそれぞれの比較文字列とを比較する。エラーメッセージ内に比較文字列が含まれる場合は、対応するフィルタリングルールに合致すると判断する。受信したエラーメッセージが複数のフィルタリングルールに合致する場合は、合致したフィルタリングルールのうち、最初に記載されたフィルタイングルールに合致したものとする。
 たとえば、フィルタ部131が上述の内容のエラーメッセージを受信し、かつ上述のフィルタリングルールに基づいてフィルタリング処理を行うとき、エラーメッセージにはフィルタリングルールにおけるルールID3に設定されている「% used on」の文字列が含まれていることから、アラートレベルは「error」であると判定する。そして、その判定結果であるルールIDおよびアラートレベルをエラーメッセージに付加する。上述のフィルタリング処理が施されたエラーメッセージの例を以下に示す。
 192.0.2.1, www, ”82% used on /home”, 3, ”error”
 サマライズ部132は、フィルタ部131からフィルタリング処理されたエラーメッセージを受信すると、メッセージ記憶部135に一時的に記憶しつつ、一定時間ごとに同種類のエラーメッセージをまとめるサマライズ処理を行う。サマライズ部132は、サマライズ処理が施されたエラーメッセージをアラート受信サーバ120に送信する。複数のアラート受信サーバ120に接続している場合には、1つのアラート受信サーバ120に対して送信する。送信先とするアラート受信サーバ120の選択方法は特に限定されるものではなく、たとえば、ラウンドロビン方式であってもよいし、ランダムに選択する方法でもよい。
 サマライズ部132が行うサマライズ処理は、ルールIDが同一のエラーメッセージを1つにまとめることにより行う。
 メッセージをまとめるためのサマライズ処理は、次のようにして行う。すなわち、まずメッセージ記憶部135を検索することによりルールIDが同一となる1以上のエラーメッセージを取得する。次に、取得したエラーメッセージそれぞれから、フィルタ部131により付加されたルールIDおよびアラートレベルを取り除いた上で、それぞれのエラーメッセージを連結し1つのエラーメッセージとする。その後、連結後のエラーメッセージに対して共通のルールIDおよびアラートレベルを付加する。
 サマライズ処理後のエラーメッセージの一例をあげると以下の通りである。
 3, ”error”
 192.0.2.1, www, ”82% used on /home”
 192.0.2.4, www, ”89% used on /home”
 192.0.2.5, www, ”81% used on /home”
 上述の例によると、同種のアラートレベル、つまり同一のルールID3を持つ3つのエラーメッセージがまとめられて1つのメッセージとなっている。このまとめられたエラーメッセージでは、192.0.2.1、192.0.2.4、および192.0.2.5のIPアドレスが設定されている3台の監視対象サーバ110から受信したエラーメッセージが1つにまとめられている。
 メール送信部133は、サマライズ部132からサマライズ処理されたエラーメッセージを受信すると、送信先ルール記憶部に記憶されている送信先ルールに基づいてエラーメッセージを所定の送信先へメール送信する。
 メール送信部133は、エラーメッセージに含まれるアラートレベルと、送信先ルールに含まれるアラートレベルを示す文字列とが一致したとき、関連づけられているメールアドレスを送信先として決定する。
 送信先ルールの一例をあげると以下の通りである。
 critical, alert-critical-ml@example.jp
 error, alert-error-ml@example.jp
 サマライズ処理後のエラーメッセージが上述〔0000〕欄に示したものであって、送信先ルールが上述のものであるとき、メール送信部133は、アラートレベルは「error」であることから、メールの送信先は「alert-error-ml@example.jp」であると決定する。
 これにより、監視対象サーバ110から送信されたエラーメッセージが所定の宛先に送信されることになる。このとき、監視対象サーバ110から送信されたエラーメッセージの全てがそのまま送信されるのではなく、サマライズ処理によりまとめられた少数のエラーメッセージが送信される。
 (3)アラート受信サーバの構成
 アラート受信サーバ120は、上述したように、キュー121と、キュー123と、トピック122と、トピック124とを備える。
 図3は、アラート受信サーバに設けられているキューの動作の概要を示す図である。
 図3に示すように、キュー121、123は、送信元140から送信されてきたメッセージMsg1~4を、複数の受信者151、152のいずれかに送信する。
 キュー121については、送信元140は監視対象サーバ110であり、受信者151、152はフィルタ部131である。キュー123については、送信元140はサマライズ部132であり、受信者151、152はメール送信部133である。
 キュー121、123は、送信元140からメッセージを受け取ると、そのメッセージを一時的に記憶し、受信者171、または受信者172へメッセージを送信する。このとき、キュー121、123は、メッセージを受信した順番に受信者151、152へメッセージを送信する。
 キュー121は、フィルタサーバ130のフィルタ部131から、キュー121から送信されるメッセージを購読する旨の信号である購読信号を受信する。キュー121は、受信した購読信号を用いて、購読者リストを構築する。具体的には、購読信号には当該購読信号を送信したフィルタサーバ130のIPアドレスおよびポート番号が含まれており、キュー121は、購読信号に含まれるIPアドレスおよびポート番号を購読者リストに追加する。キュー121は、メッセージの送信先として、購読者リストに含まれるIPアドレスおよびポート番号の中から1つの組み合わせを選択する。なお、送信先の選択方法は特に限定されるものではなく、たとえば、ラウンドロビン方式であってもよいし、ランダムに選択する方法でもよい。また、キュー123は、構築した購読者リストに設定されているサーバからの購読信号が一定時間以上受信されないときは、そのサーバを購読者リストから削除する。
 また、キュー123は、フィルタサーバ130のメール送信部133から、キュー123から送信されるメッセージを購読する旨の信号である購読信号を受信する。キュー123は、受信した購読信号を用いて、購読者リストを構築する。具体的には、購読信号には当該購読信号を送信したフィルタサーバ130のIPアドレスおよびポート番号が含まれており、キュー123は、購読信号に含まれるIPアドレスおよびポート番号を購読者リストに追加する。キュー123は、メッセージの送信先として、購読者リストに含まれるIPアドレスおよびポート番号の中から1つの組み合わせを選択する。なお、送信先の選択方法は上述のキュー121の場合と同様に特に限定されるものではなく、たとえば、ラウンドロビン方式であってもよいし、ランダムに選択する方法でもよい。
 なお、受信者が3つ以上あったときも、上述の説明と同様に、1つずつ受信者を選択して送信する。
 図4は、アラート受信サーバに設けられているトピックの動作の概要を示す図である。
 図4に示すように、トピック122は、送信元160から送信されてきたメッセージMsg1,2を受信者171、および172へ送信する。
 トピック122については、送信元160はフィルタ部131であり、受信者171、172はすべてのサマライズ部132である。トピック123については、送信元160はサマライズ部132であり、受信者171、172は送信元160以外のすべてのサマライズ部132である。
 トピック122、124は、送信元160からメッセージを受け取ると、そのメッセージを一時的に記憶し、受信者151、および受信者152へメッセージを送信する。なお、受信者が3つ以上あったときも、上述の説明と同様に、メッセージをすべての受信者に送信する。
 トピック122は、フィルタサーバ130のサマライズ部132から、トピック122から送信されるメッセージを購読する旨の信号である購読信号を受信する。トピック122は、受信した購読信号を用いて、購読者リストを構築する。具体的には、購読信号には当該購読信号を送信したフィルタサーバ130のIPアドレスおよびポート番号が含まれており、トピック122は、購読信号に含まれるIPアドレスおよびポート番号を購読者リストに追加する。トピック122は、メッセージの送信先として、購読者リストに含まれるすべてのIPアドレスおよびポート番号を選択する。
 また、トピック124は、フィルタサーバ130のサマライズ部132から、トピック124から送信されるメッセージを購読する旨の信号である購読信号を受信する。トピック124は、受信した購読信号を用いて、購読者リストを構築する。具体的には、購読信号には当該購読信号を送信したフィルタサーバ130のIPアドレスおよびポート番号が含まれており、トピック124は、購読信号に含まれるIPアドレスおよびポート番号を購読者リストに追加する。トピック124は、メッセージの送信先として、購読者リストに含まれる送信元のIPアドレスおよびポート番号以外のすべてを選択する。
 (4)サーバ間の連携
 図5は、エラーメッセージのサーバ間の動きの概要を示す図である。
 図5に示すように、キュー121は、監視対象サーバ110が送信したエラーメッセージを受信すると一時的に記憶し、このエラーメッセージをフィルタサーバ130Aのフィルタ部131A、もしくはフィルタサーバ130Bのフィルタ部131Bに対してエラーメッセージを送信する。
 このとき、キュー121は、フィルタ部131へ送信する前にエラーメッセージを一時的に記憶するのは、以下の理由による。すなわち、監視対象サーバ110は、エラーメッセージを送信することのみできる構成であればよく、ビジー状態になっているフィルタサーバ130に直接エラーメッセージを送信することによってフィルタサーバ130がエラーメッセージに係るデータを担当者に送信できなくなる、もしくは監視対象サーバ110がフィルタサーバ130へのエラーメッセージ送信待機中に、監視対象サーバ110がエラーメッセージを送信することができなくなる重大な障害が生じたときに、エラーメッセージを担当者が受信できていない状態になることを防止することが可能となる。以下、トピック122、キュー123、およびトピック124も同様の理由により受信したエラーメッセージを一時的に記憶する。
 フィルタ部131は、キュー121からエラーメッセージを受信すると、エラーメッセージのフィルタリング処理として、エラーメッセージに重要度を示す識別子などを付加する処理を行い、トピック122へ送信する。
 トピック122は、フィルタ部131からエラーメッセージを受信すると一時的に記憶し、サマライズ部132A、およびサマライズ部132Bの両方にエラーメッセージを送信する。
 サマライズ部132は、トピック122からエラーメッセージを受信すると、一定時間エラーメッセージを記憶し続け、同じ種類のエラーメッセージをまとめるサマライズ処理を行い、まとめたエラーメッセージをキュー123へ送信する。
 なお、サマライズ部132A、およびサマライズ部132Bは、同一のエラーメッセージを受信し、同一のサマライズ処理を行うように構成されている。しかし、サマライズ部132A、およびサマライズ部132Bの両方がキュー123に対して同一のサマライズ結果を送信すると障害担当者に多数のメールが届いてしまい、迅速な事態の把握に支障が生じるなどの不都合が生じるので、サマライズ部132A、もしくは132Bのいずれか一方のみがキュー123へまとめたエラーメッセージを送信する。次に、サマライズ部132A、もしくは132Bのどちらがキュー123へまとめたエラーメッセージを送信するかを決定する代表決定について説明する。
 サマライズ部132は、定期的に自装置の情報をトピック124へ送信する。トピック124は、送信されてきた情報を、その情報を送信したサマライズ部132以外のサマライズ部132すべてに送信する。
 より具体的には、サマライズ部132Aが自装置の情報をトピック124へ送信すると、トピック124は、情報を送信してきたサマライズ部132A以外のサマライズ部であるサマライズ部132Bへその情報を送信する。同様に、サマライズ部132Bが自装置の情報をトピック124へ送信すると、トピック124は、情報を送信してきたサマライズ部132B以外のサマライズ部であるサマライズ部132Aへその情報を送信する。このような構成にすることにより、すべてのサマライズ部132は、稼働中のすべてのフィルタサーバ130のサマライズ部132の情報をそれぞれもつことになる。
 そして、サマライズ部132は、すべてのサマライズ部132の情報を元に自装置が代表であるか否かを決定する。たとえば、各サマライズ部132が共有する情報がフィルタサーバ130のそれぞれに設定されたIPアドレスであって、代表であるかの決定要素がIPアドレスに含まれる数値が一番小さいものであるという条件のとき、各サマライズ部132は、他のサマライズ部132から送られてきたIPアドレスと自らのIPアドレスを比較し、自らのIPアドレスに含まれる数値が一番小さいと判断すると自らを代表であると決定する。
 なお、図5に示す構成においては、フィルタサーバ130が2台しかないので情報は送信元以外のもう1つのサマライズ部132のみに送信されるが、フィルタサーバ130が3台以上の構成においては、情報は送信元以外のすべてのサマライズ部132、つまり2つ以上のサマライズ部132に送信される。また、IPアドレスに含まれる数値が一番小さいときに自らが代表であると決定しているが、IPアドレスに含まれる数値が最も大きいのときに自らが代表であると決定するなどをしてもよい。このように、サマライズ部132およびトピック124は、本発明における代表決定手段を構成する。
 キュー123は、サマライズ部132A、もしくは132Bからエラーメッセージを受信すると一時的に記憶し、メール送信部133A、もしくはメール送信部133Bへエラーメッセージを送信する。
 メール送信部133は、キュー123からエラーメッセージを受信すると、所定の送信ルールに基づきエラーメッセージをメールで担当者へ送信する。
 このように、監視対象サーバ110から送信されたエラーメッセージは、アラート受信サーバ120とフィルタサーバ130の間を往復した後にメールとして送信される。このような構成にしたことにより、エラーメッセージの送信先が特定のサーバに集中することがなく、負荷が分散される。また、アラート受信サーバ120およびフィルタサーバ130が複数存在し、冗長化されていることから、可用性が担保される。
 つまり、エラーメッセージが監視対象サーバ110からキュー121へ送信されるとき、キュー121からフィルタ部131へ送信されるとき、フィルタ部131からトピック122へ送信されるとき、トピック122からサマライズ部132へ送信されるとき、サマライズ部132からキュー123へ送信されるとき、およびキュー123からメール送信部133へ送信されるときのどのフェーズにおいて、どのサーバがダウンしたとしても、ダウンしたサーバと同一構成の別のサーバが存在することから冗長性が担保される。
 また、エラーメッセージが監視対象サーバ110からキュー121へ送信されるとき、キュー121からフィルタ部131へ送信されるとき、フィルタ部131からトピック122へ送信されるとき、サマライズ部132からキュー123へ送信されるとき、およびキュー123からメール送信部133へ送信されるときのように複数の構成要素のいずれか1つにエラーメッセージを送信する構成としているので、完全なミラー構成とは異なり負荷が分散される。
 図5においては、動作をわかりやすくするためにフィルタサーバ130を2台示して説明したが、図6においては、フィルタサーバ130を2台から3台に増設したときにアラート受信サーバ120とフィルタサーバ130の各機能がどのような動作をするか説明する。
 図6は、フィルタサーバを増設した状態を示す図である。
 キュー121は、フィルタサーバ130のフィルタ部131から、キュー121から送信されるメッセージを購読する旨の信号である購読信号を受信する。キュー121は、受信した購読信号を用いて、購読者リストを構築する。具体的には、購読信号には当該購読信号を送信したフィルタサーバ130のIPアドレスおよびポート番号が含まれており、キュー121は、購読信号に含まれるIPアドレスおよびポート番号を購読者リストに追加する。キュー121は、エラーメッセージの送信先として、購読者リストに含まれるIPアドレスおよびポート番号の中から1つの組み合わせを選択し、フィルタ部131A,131B,131Cのいずれか1つにエラーメッセージを送信する。
 フィルタ部131は、エラーメッセージを受信すると、フィルタリング処理をしたエラーメッセージをトピック122へ送信する。トピック122は、受信したエラーメッセージをサマライズ部132A,132B,132Cのすべてへ送信する。
 トピック122がサマライズ部132へエラーメッセージを送信する際の動作も、上述のキュー121の動作と同様である。つまり、トピック122は、フィルタサーバ130のサマライズ部132から、トピック122から送信されるメッセージを購読する旨の信号である購読信号を受信する。トピック122は、受信した購読信号を用いて、購読者リストを構築する。具体的には、購読信号には当該購読信号を送信したフィルタサーバ130のIPアドレスおよびポート番号が含まれており、トピック122は、購読信号に含まれるIPアドレスおよびポート番号を購読者リストに追加する。トピック122は、エラーメッセージの送信先として、購読者リストに含まれるIPアドレスおよびポート番号のすべてを選択することによって、受信したエラーメッセージをサマライズ部132A,132B,132Cのすべてへ送信する。
 このような構成にすることにより、フィルタサーバ130Cをサーバ監視システム100の一部として増設したときは、管理者はフィルタサーバ130A、130Bと同じ構成のフィルタサーバ130Cを用意すれば、すぐにサーバ監視システム100の一部として機能させることができるので、拡張性に富むシステムであるといえる。
 サマライズ部132A,132B,132Cには、トピック122から同一のエラーメッセージが送信され、かつサマライズ部132A,132B,132Cが同じ構成であることから、サマライズ部132A,132B,132Cは同一のルールに基づいて同一のエラーメッセージがサマライズ処理される。
 これはサマライズ処理が、一定時間に送信されてきたエラーメッセージをまとめる処理をすることによって、サーバ監視システム100から送信されるエラーメッセージの総量を低減させることを目的としたものであって、各サマライズ部132A,B,もしくはCへ分散してエラーメッセージを送信してしまうと、結果としてそれぞれのサマライズ処理結果が異なることとなり、不適当だからである。
 一方で、各サマライズ部132A,132B,132Cから同一のサマライズ処理後の結果をキュー123へ送信すると、メッセージが重複するという不具合が生ずるので、どのサマライズ部132A,B,もしくはCがキュー123へエラーメッセージを送信するかを決定する方法を考える。
 トピック124は、サマライズ部132A,132B,および132Cと接続されており、サマライズ部132A,132B,132Cのそれぞれが自らの情報をトピック124へ送信する。トピック124は、受信したサマライズ部132の情報を、送信元のサマライズ部132以外のサマライズ部132へ送信する。たとえば、サマライズ部132Aがトピック124へ自らの情報を送信したとき、トピック124は、受信した情報をサマライズ部132B,および132Cへ送信する。これにより各サマライズ部132は他のフィルタサーバ130に設けられたサマライズ部132の情報ももつこととなる。なお、この情報とは、たとえばフィルタサーバ130のIPアドレスなどである。
 たとえばIPアドレスが一番若いものを代表者とするとき、サマライズ部132A,132B,および132Cは、トピック124から受信した情報に基づき、自らが代表であるか否かを判断する。自らを代表と判断したサマライズ部132は、キュー123へサマライズ処理後のエラーメッセージを送信する。その他のサマライズ部132は、エラーメッセージを送信しない。
 なお、サマライズ部132A,132B,132Cのそれぞれがサマライズ処理を行う場合について説明したが、これには限定されない。たとえば、サマライズ部132A,132B,132Cは、自身が代表者として選定された場合にのみサマライズ処理を行うように構成されていても良い。
 以上の機能を有するサーバ監視システム100の各処理についてフローチャートを用いて詳細に説明する。
 (5)サーバ監視システムの動作
 (5.1)購読者リスト構築処理
 図7は、アラート受信サーバにおけるキューの購読者リストおよびトピックの購読者リストを構築する購読者リスト構築処理の手順を示すフローチャートである。以下、図7に示す購読者リスト構築処理をステップ番号に沿って説明する。
 〔ステップS11〕
 アラート受信サーバ120に設けられたキューおよびトピックは、エラーメッセージ、または購読者からの購読信号の受信待機をする。購読者は、キューおよびトピックがメッセージを送信する送信先であって、たとえばキュー121の購読者はフィルタ部131である。
 〔ステップS12〕
 アラート受信サーバ120に設けられたキューおよびトピックは、購読者からの購読信号を受信したか否かを判断する。購読信号を受信したときは処理をステップS13へ進め、購読信号を受信していないときは処理をステップS14へ進める。
 〔ステップS13〕
 アラート受信サーバ120に設けられたキューおよびトピックは、購読信号を送信した購読者を購読者リストに追加する。
 〔ステップS14〕
 アラート受信サーバ120に設けられたキューおよびトピックは、所定の送信者からのエラーメッセージを受信したか否かを判断する。エラーメッセージを受信したときは処理をステップS15へ進め、エラーメッセージを受信していないときは処理をステップS11へ戻す。
 〔ステップS15〕
 アラート受信サーバ120に設けられたキューおよびトピックは、受信したエラーメッセージを一時的に保存し、エラーメッセージを購読者もしくは送信者へ送信する準備をする。
 次に、アラート受信サーバ120が行う購読者もしくは送信者に対するエラーメッセージの送信処理を説明する。
 (5.2)アラート受信サーバによるメッセージ送信処理
 図8は、アラート受信サーバにおけるキューおよびトピックによるメッセージ送信処理の手順を示すフローチャートである。以下、図8に示す購読者リスト構築処理をステップ番号に沿って説明する。
 〔ステップS21〕
 アラート受信サーバ120は、受信して一時保存されたエラーメッセージを読み出す。
 〔ステップS22〕
 アラート受信サーバ120は、読み出したエラーメッセージの送信先がキューであるか否かを判断する。送信先がキューであるときは処理をステップS23へ進め、送信先がキューでないとき、すなわちトピックであるときは処理をステップS25へ進める。
 〔ステップS23〕
 アラート受信サーバ120は、読み出したエラーメッセージの送信先であるキューに関連づけられている購読者リストから1の購読者を選択する。
 〔ステップS24〕
 アラート受信サーバ120は、選択した購読者にエラーメッセージを送信する。
 〔ステップS25〕
 アラート受信サーバ120は、読み出したエラーメッセージの送信先であるトピックに関連づけられている購読者リストのすべての購読者にエラーメッセージを送信する。
 〔ステップS26〕
 アラート受信サーバ120は、送信したエラーメッセージを破棄する。
 (5.3)サーバ監視処理
 図9は、監視対象サーバに実装されている監視プログラムによるサーバ監視処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
 〔ステップS31〕
 監視対象サーバ110は、監視対象サーバ110の状態をチェックするプログラム(以下、監視プログラムという。)を実行し、監視対象サーバ110の状態をチェックする。
 〔ステップS32〕
 監視プログラムは、監視対象サーバ110に異常が発生したかを判断する。監視対象サーバ110に異常が発生していると判断したときは処理をステップS33へ進め、異常が発生していないと判断したときは処理をステップS34へ進める。監視対象サーバ110に発生した異常とは、たとえば監視対象サーバ110のディスク残量が所定割合以下になったときなどである。
 〔ステップS33〕
 監視プログラムは、監視対象サーバ110に発生した異常に関する情報であるエラーメッセージをアラート受信サーバ120に送信する。アラート受信サーバ120が複数あるときは、一定のアラート受信サーバに負荷が集中しないように、送信するごとに送信先のアラート受信サーバを変更する。
 監視プログラムが、アラート受信サーバ120にエラーメッセージを送信するとき、監視プログラムにあらかじめ設定されているアラート受信サーバ120のドメイン名に基づいて、監視プログラムがDNSサーバにアラート受信サーバ120のIPアドレスの照会を行う。アラート受信サーバ120が複数ある場合であっても、各アラート受信サーバ120のドメイン名は共通である。DNSサーバには、アラート受信サーバ120のドメイン名に対し、各アラート受信サーバのIPアドレスのリストが関連づけて記憶されている。そして、監視プログラムは、アラート受信サーバ120のドメイン名に対応付けられた当該リストを受信し、リストに設定されている複数のIPアドレスからランダムに1のIPアドレスを選択して、当該アドレスが付与されたアラート受信サーバ120のキュー121へエラーメッセージを送信する。
 なお、監視プログラムがフィルタサーバ130のフィルタ部131へ直接エラーメッセージを送信する構成としてもよいが、フィルタサーバ130はフィルタリング処理、サマライズ処理、およびメール送信を行うため、負荷が大きくなる傾向にある。そのため、フィルタサーバ130がビジー状態のときは、フィルタサーバ130のフィルタ部131は監視プログラムから送信されたエラーメッセージを受信できないことがある。
 そこで、本実施の形態のサーバ監視システム100においては、キュー121を介してフィルタ部131へエラーメッセージが送信される構成としている。キュー121は、エラーメッセージを一時的に保存するので、フィルタサーバ130がビジー状態のときであっても、監視プログラムはメッセージを送信することができ、エラーメッセージを失ったり、監視対象サーバの監視に漏れが生じる等の不具合を避けることができる。一方、フィルタサーバ130は、ビジー状態からの回復後、キュー121から保存されたエラーメッセージを受信することができるので、問題なくその後の処理を継続することができる。
 〔ステップS34〕
 監視プログラムは、一定時間待機状態になる。たとえば、サーバの異常が発生したかを判断する判定プログラムを5分ごとに実行する構成としたときは5分間待機する。
 このような処理を行うことによって、監視対象サーバ110に異常が発生したときに、その内容がエラーメッセージとしてアラート受信サーバ120A、もしくはアラート受信サーバ120Bのいずれかに通知される。
 上述のとおり、アラート受信サーバ120は、監視プログラムからエラーメッセージを受信すると、アラート受信サーバ120に実装されているキュー121が、フィルタサーバ130にエラーメッセージを送信する。このとき、フィルタサーバ130が複数あるときは、一定のフィルタサーバに負荷が集中しないように、送信するごとに送信先とするフィルタサーバを変更する。さらに、送信先として指定したフィルタサーバからの応答がないとき、別のフィルタサーバに送信先を変更することにより冗長化を実現することができる。
 (5.4)フィルタリング処理
 図10は、フィルタサーバのフィルタ部によるフィルタリング処理の手順を示すフローチャートである。以下、図10に示すフィルタリング処理をステップ番号に沿って説明する。
 〔ステップS41〕
 フィルタ部131は、フィルタリングルール記憶部134に記憶されているフィルタリングルールを読み込む。
 〔ステップS42〕
 フィルタ部131は、すべてのアラート受信サーバ120に接続し、キュー121を購読する旨の信号である購読信号をキュー121へ送信する。フィルタ部131は、アラート受信サーバ120のドメイン名を用いてDNSサーバに問い合わせることによって、アラート受信サーバ120のドメイン名に関連づけられて登録されているIPアドレスから、送信先として選択可能な全てのアラート受信サーバのIPアドレスを取得することができる。
 〔ステップS43〕
 フィルタ部131は、アラート受信サーバ120の追加や変更があったかを判断する。追加や変更があったと判断したときは、処理をステップS42へ戻し、追加や変更がなかったと判断したときは、処理をステップS44へ進める。
 フィルタ部131が、アラート受信サーバ120の追加や変更があったかを知るには、たとえば、前回DNSサーバに問い合わせた際に取得した、あらかじめ設定されているアラート受信サーバ120のサーバ名に関連づけられて登録されているIPアドレスのリストを保存しておき、今回取得したリストと比較することによって行うことができる。
 〔ステップS44〕
 フィルタ部131は、アラート受信サーバ120からのエラーメッセージ受信を待機する待機状態となる。
 〔ステップS45〕
 フィルタ部131は、アラート受信サーバ120から一定時間内にエラーメッセージを受信したか否かを判断する。エラーメッセージを受信したときは、処理をステップS46へ進め、エラーメッセージを受信していないときは、処理をステップS43へ戻す。
 〔ステップS46〕
 フィルタ部131は、受信したエラーメッセージを、あらかじめ読み込んであるフィルタリングルールと比較する。
 〔ステップS47〕
 フィルタ部131は、フィルタリングルールを用いて、受信したエラーメッセージのアラートレベルを決定する。この決定方法は、たとえばエラーメッセージに含まれる一定の文字列がルールとして設定されており、その文字列がエラーメッセージ内に含まれているかどうかで判断する。
 〔ステップS48〕
 フィルタ部131は、受信したエラーメッセージに対してアラートレベルとルールIDを示す情報である識別子を付加する。
 〔ステップS49〕
 フィルタ部131は、受信したエラーメッセージを破棄するかを判断する。破棄すると判断したときは、処理をステップS43へ戻し、破棄しないと判断したときは、処理をステップS50へ進める。たとえば、フィルタ部131は、アラートレベルが所定レベル以下であるエラーメッセージを破棄する。また、フィルタ部131は、エラーメッセージに含まれている内容が予め定められた破棄基準に該当する場合に、エラーメッセージを破棄するように構成されていてもよい。たとえば、実際には問題とならない場合に送信されてくるエラーメッセージの本文を予め破棄基準として記憶しておいてもよい。
 〔ステップS50〕
 フィルタ部131は、エラーメッセージをアラート受信サーバ120のトピック122に送信する。このとき、一定のアラート受信サーバに負荷が集中しないように、送信するごとに別のアラート受信サーバにエラーメッセージを送信する。
 この処理によって、アラート受信サーバ120にアラートレベルが付加されたエラーメッセージが送信される。また、アラートレベルが所定レベルよりも低いと判断されたアラートについては破棄されるため、アラートレベルが低いエラーメッセージはその後の処理にはまわらず、サーバ監視システム100全体に対するトラフィックを低減することが可能となる。
 トピック122は、アラートレベルが付加されたエラーメッセージを受信すると、接続されているすべてのフィルタサーバ130に対してアラートレベルが付加されたエラーメッセージを送信する。
 (5.5)サマライズ処理
 (5.5.1)エラーメッセージ記憶処理
 図11は、フィルタサーバのサマライズ部によるエラーメッセージ記憶処理の手順を示すフローチャートである。以下、図11に示すエラーメッセージ記憶処理をステップ番号に沿って説明する。
 〔ステップS51〕
 サマライズ部132は、すべてのアラート受信サーバ120に対して、トピック122を購読する旨の信号をトピック122に宛てて送信する。サマライズ部132は、アラート受信サーバ120のドメイン名を用いてDNSサーバに問い合わせることによって、アラート受信サーバ120のドメイン名に関連づけられて登録されているIPアドレスから、送信先として選択可能な全てのアラート受信サーバのIPアドレスを知ることができる。
 〔ステップS52〕
 サマライズ部132は、アラート受信サーバ120の追加や変更があったかを判断する。追加や変更があったと判断したときは、処理をステップS51へ戻し、追加や変更がなかったと判断したときは、処理をステップS53へ進める。
 サマライズ部132が、アラート受信サーバ120の追加や変更があったかを知るには、たとえば、前回DNSサーバに問い合わせた際に取得した、あらかじめ設定されているアラート受信サーバ120のサーバ名に関連づけられて登録されているIPアドレスのリストを保存しておき、今回取得したリストと比較することによって行うことができる。
 〔ステップS53〕
 サマライズ部132は、アラート受信サーバ120からのエラーメッセージ受信を待機する待機状態となる。
 〔ステップS54〕
 サマライズ部132は、アラート受信サーバ120からのエラーメッセージを受信したかを判断する。エラーメッセージを受信したときは、処理をステップS55へ進め、エラーメッセージを受信していないときは、処理をステップS52へ戻す。
 〔ステップS55〕
 サマライズ部132は、受信したエラーメッセージに付加されたルールIDを取得する。
 〔ステップS56〕
 サマライズ部132は、取得したルールIDに対応する受信履歴がメッセージ記憶部135に記憶されているかを判断する。記憶されているときは、処理をステップS57へ進め、記憶されていないときは、処理をステップS58へ進める。
 〔ステップS57〕
 サマライズ部132は、メッセージ記憶部135に記憶されているエラーメッセージのうち、共通のルールIDをもつエラーメッセージに新たなアドレスを含めたエラーメッセージを追加する。このとき、最終更新日時を記憶する。なお、ここでいう新たなアドレスとは、エラーメッセージを送信した監視対象サーバ110のアドレスである。
 〔ステップS58〕
 サマライズ部132は、取得したエラーメッセージをメッセージ記憶部135に記憶する。このとき、最終更新日時を記憶する。
 〔ステップS59〕
 サマライズ部132は、所定のキュー123にエラーメッセージを送信する。エラーメッセージはキュー123を介してメール送信部133へ送られ、たとえばメールとして担当者へ送信される。
 このような処理を行うことにより、2通目以降の同種のエラーメッセージは記憶され、1通目のエラーメッセージは即座にメールで担当者に伝達される。
 なお、サマライズ部132が、キュー123にエラーメッセージを送信するのではなく、直接担当者へメールを送信する構成としてもよい。
 (5.5.2)エラーメッセージのまとめ処理および送信処理
 図12は、フィルタサーバのサマライズ部によるエラーメッセージのまとめ処理および送信処理の手順を示すフローチャートである。以下、図12に示すエラーメッセージ送信処理をステップ番号に沿って説明する。
 〔ステップS61〕
 サマライズ部132は、メッセージ記憶部135にエラーメッセージが記憶されているかを判断する。記憶されているときは、処理をステップS62へ進め、記憶されていないときは、処理をステップS63へ進める。
 〔ステップS62〕
 サマライズ部132は、記憶されているエラーメッセージの情報を1つずつ順に取得する。ここで、同種のエラーメッセージがまとまっているときは、そのまとまりを1つとしてまとめて取得する。
 〔ステップS63〕
 サマライズ部132は、一定時間待機する。
 〔ステップS64〕
 サマライズ部132は、記憶されたエラーメッセージの最終更新日時から一定時間以上経過しているかを判断する。一定時間以上経過しているときは、処理をステップS65へ進め、一定時間以上経過していないときは、処理をステップS61へ戻す
 〔ステップS65〕
 サマライズ部132は、ステップS62において作成された1通のエラーメッセージを所定のキュー123に送信する。
 〔ステップS66〕
 サマライズ部132は、送信したエラーメッセージの元となったエラーメッセージ(監視対象サーバ110から送信され、まとめられていない状態のエラーメッセージ)をメッセージ記憶部135から削除する。
 図11および12で説明したエラーメッセージ記憶処理およびエラーメッセージ送信処理を合わせてサマライズ処理とする。
 (5.6)メール送信処理
 図13は、メール送信部によるメール送信処理の手順を示すフローチャートである。以下、図13に示すメール送信処理をステップ番号に沿って説明する。
 〔ステップS71〕
 メール送信部133は、送信先ルール記憶部136に記憶されている送信先ルールを読み込む。
 〔ステップS72〕
 メール送信部133は、すべてのアラート受信サーバ120に接続し、キュー123を購読する旨の信号をキュー123へ送信する。現在いくつのアラート受信サーバ120が接続されているかを知るには、メール送信部133が、DNSサーバに問い合わせて、あらかじめ設定されているアラート受信サーバ120のサーバ名に関連づけられて登録されているIPアドレスから知ることができる。
 〔ステップS73〕
 メール送信部133は、アラート受信サーバ120の追加や変更があったかを判断する。追加や変更があったと判断したときは、処理をステップS72へ戻し、追加や変更がなかったと判断したときは、処理をステップS74へ進める。
 メール送信部133が、アラート受信サーバ120の追加や変更があったかを知るには、たとえば、前回DNSサーバに問い合わせた際に取得した、あらかじめ設定されているアラート受信サーバ120のサーバ名に関連づけられて登録されているIPアドレスのリストを保存しておき、今回取得したリストと比較することによって行うことができる。
 〔ステップS74〕
 メール送信部133は、アラート受信サーバ120からのエラーメッセージ受信を待機する待機状態となる。
 〔ステップS75〕
 メール送信部133は、キュー123から一定時間内にエラーメッセージを受信したかを判断する。エラーメッセージを受信したときは、処理をステップS76へ進め、エラーメッセージを受信していないときは、処理をステップS73へ戻す。
 〔ステップS76〕
 メール送信部133は、あらかじめ読み込んである送信先ルールと受信したエラーメッセージとを比較して、そのエラーメッセージのメール送信先を決定する。
 〔ステップS77〕
 メール送信部133は、エラーメッセージの内容からメール本文を作成する。
 〔ステップS78〕
 メール送信部133は、作成したメールを送信する。
 以上の処理により、監視対象サーバ110に実装されている監視プログラムから送信されたエラーメッセージがアラート受信サーバ120およびフィルタサーバ130の間を往復してメール送信されることにより、一定のアラート受信サーバ120もしくはフィルタサーバ130に負荷が集中することを防止することができる。また、アラート受信サーバ120もしくはフィルタサーバ130を追加する際に、従来稼働しているアラート受信サーバ120もしくはフィルタサーバ130と同一の構成のサーバを用意し、かつDNSサーバに登録さえすれば、他の設定を変えることなくサーバ監視システム100の一部として稼働させることができるので、作業負担が少なく、保守性に優れるとともに、容易な拡張が可能である。
 (6)作用および効果
 本実施形態では、サーバ監視システム100が、監視対象サーバ110と接続されたアラート受信サーバ120と、アラート受信サーバ120と接続された2以上のフィルタサーバ130とを備えている。そして、フィルタサーバ130に設けられたフィルタ部131、サマライズ部132、メール送信部が受信したエラーメッセージを処理する。具体的には、まず、アラート受信サーバ120に設けられたトピック122が、エラーメッセージをすべてのフィルタサーバ130に送信する。次に、アラート受信サーバ120に設けられたトピック124が、一のフィルタサーバ130に設けられたサマライズ部132から受信した当該フィルタサーバ130の情報を、他のフィルタサーバ130に送信する。そして、フィルタサーバ130のサマライズ部132が、自装置に設定された所定の情報(例えばIPアドレス)と、他のフィルタサーバ130に設定された所定の情報とを比較し、自身が代表であるか否かを決定する。そして、代表であると決定されたフィルタサーバ130のメール送信部133が、所定の宛先に対するエラーメッセージの送信を行う。
 これにより、エラーメッセージは全てのフィルタサーバ130に送信されつつも、代表として決定されたフィルタサーバ130のみが所定の宛先に対するエラーメッセージの送信を行う。ここで、代表となるフィルタサーバ130は、アラート受信サーバ120に設けられたトピック124を介して互いに送受信される所定の情報(例えば各フィルタサーバ130のIPアドレス)に応じて決定される。このような構成によれば、例えば、代表として決定されたフィルタサーバ130が障害等により動作不可能な状態になった場合や、フィルタサーバ130が新たに追加された場合に、自動的に新たな代表が決定される。よって、サーバを増設するたびに各サーバの設定を変更することなくエラーメッセージの処理を運用することができるので、保守性及び可用性に優れたメッセージ処理システムを提供することができる。
 なお、本実施の形態において、メール送信部133が障害担当者にメールを送信することによりエラーメッセージを送信する構成となっているが、障害担当者に対してエラーメッセージを送信する構成としてはインスタントメッセンジャーなどの通知機能を用いてもよい。
 また、本実施の形態において、フィルタリングルール記憶部134、メッセージ記憶部135、および送信先ルール記憶部136がフィルタサーバ130内に設けられている旨の説明をしたが、フィルタリングルール記憶部134、メッセージ記憶部135、および送信先ルール記憶部136がフィルタサーバ130外に設けられていてもよい。
 (7)変形例
 図14は、フィルタリング処理後のエラーメッセージを2つのトピックが受け取るときのエラーメッセージの流れの概要を示した図である。
 図14に示すように、トピック125が新たに設けられている。図14の例においてはたとえばトピック125は、アラート受信サーバ120内に設けられている。
 フィルタ部131は、監視対象サーバ110から送信され、キュー121を介してエラーメッセージを受信したとき、フィルタリング処理の結果、重要度が高いと判断したエラーメッセージをトピック122へ送信し、重要度が高くないと判断したエラーメッセージをトピック125へ送信する。
 トピック125は、重要度が高くないと判断されたエラーメッセージを受信すると、レポート部137へエラーメッセージを送信する。レポート部137は、一定時間(たとえば1時間)エラーメッセージを蓄積し、障害担当者などの受信者180へ送信する。メール送信部133から受信者180へ送信されるメールは携帯電話へ送信し、レポート部137から送信されるメールはコンピュータへ送信するなどすると、担当者の携帯電話へ送信されるメールに記載されている障害は重要であってすぐに対応が必要と判断でき、コンピュータへ送信されたメールに記載された障害は重要度が低いが確認することはできるというように使い分けることができる。
 なお、レポート部137がフィルタサーバ130に設けられており、かつフィルタサーバ130が複数設けられているときは、トピック125は、すべてのレポート部137へメッセージを送信し、代表と決められたトピック125のみが受信者180へメールを送信する構成とするのがよいのはトピック122と同様である。
 100 サーバ監視システム
 110 監視対象サーバ
 120,120A,120B アラート受信サーバ
 121,121A,121B,123,123A,123B キュー
 122,122A,122B,124,124A,124B トピック
 130,130A,130B,130C フィルタサーバ
 131,131A,131B,131C フィルタ部
 132,132A,132B,132C サマライズ部
 133,133A,133B,133C メール送信部

Claims (10)

  1.  送信元サーバからのメッセージを受信し、前記受信したメッセージに応じた処理を行うメッセージ処理システムにおいて、
     前記送信元サーバと接続されたメッセージ配信装置と、
     前記メッセージ配信装置と接続された2以上のメッセージ処理装置と、
     を備え、
     前記メッセージ処理装置は、
     前記送信元サーバから送信され、メッセージ配信装置を介して受信したメッセージを処理するメッセージ処理手段と、
     自装置に設定された所定の情報と、他のメッセージ処理装置に設定された所定の情報とを比較し、自装置に設けられたメッセージ処理手段が代表であるか否かを決定する代表決定手段と、
     前記代表決定手段によって代表であると決定されたとき、前記メッセージ処理手段が処理したメッセージに応じた報知を行う報知手段と、
     を備え、
     前記メッセージ配信装置は、
     前記送信元サーバから受信したメッセージをすべての前記メッセージ処理装置に送信する第1の同報送信手段と、
     前記代表決定手段から受信した前記メッセージ処理手段の情報を、当該情報を送信したメッセージ処理装置以外の他のすべてのメッセージ処理装置に送信する第2の同報送信手段と、
     を備えることを特徴とするメッセージ処理システム。
  2.  前記メッセージ処理手段は、
     前記メッセージ配信装置を介して受信したメッセージのうち、同種のメッセージをまとめるサマライズ処理を行うサマライズ処理手段を備えることを特徴とする請求項1記載のメッセージ処理システム。
  3.  前記メッセージ処理手段は、
     前記メッセージ配信装置を介して受信したメッセージをフィルタリングするフィルタリング処理を行うフィルタリング処理手段を備えることを特徴とする請求項1記載のメッセージ処理システム。
  4.  前記フィルタリング処理手段は、
     前記メッセージ配信装置を介して受信したメッセージの重要度に応じてフィルタリング処理を行うことを特徴とする請求項3記載のメッセージ処理システム。
  5.  前記メッセージ処理手段は、
     前記フィルタリング処理手段が処理したフィルタリング結果に基づいて、前記メッセージ配信装置を介して受信したメッセージのうち同種のメッセージをまとめるサマライズ処理を行うサマライズ処理手段をさらに備えることを特徴とする請求項3記載のメッセージ処理システム。
  6.  前記メッセージ配信装置は、
     一の前記メッセージ処理装置を選択し、前記送信元サーバから受信したメッセージを、選択したメッセージ処理装置に設けられたフィルタリング処理手段に送信する選択送信手段をさらに備え、
     選択された前記メッセージ処理装置に設けられた前記フィルタリング処理手段は、
     前記選択送信手段を介して受信したメッセージに対して前記フィルタリング処理を行い、前記フィルタリング処理後のメッセージを前記第1の同報送信手段へ送信することを特徴とする請求項5記載のメッセージ処理システム。
  7.  前記送信元装置は、障害を監視する対象となるサーバであり、
     前記メッセージは、前記サーバに発生した障害の内容を含むエラーメッセージであることを特徴とする請求項1記載のメッセージ処理システム。
  8.  前記所定の情報は、
     前記メッセージ処理装置のIPアドレスであり、
     前記代表決定手段は、
     他のメッセージ処理装置に設定されたIPアドレスと自装置に設定されたIPアドレスとを比較し、自装置に設定された前記IPアドレスに含まれる所定の値が所定条件に合致するときに自己のメッセージ処理装置に設けられた前記メッセージ処理手段が代表であると決定することを特徴とする請求項1記載のメッセージ処理システム。
  9.  前記報知手段は、
     前記メッセージ処理手段が処理したメッセージを、電子メールを用いて障害担当者へ報知することを特徴とする請求項1記載のメッセージ処理システム。
  10.  送信元サーバからのメッセージを受信し、前記受信したメッセージに応じた処理を行うメッセージ処理方法において、
     メッセージ配信装置が、前記送信元サーバと接続され、第1の同報処理手段と、第2の同報処理手段とを備え、
     2以上のメッセージ処理装置が、前記メッセージ配信装置と接続され、メッセージ処理手段と、代表決定手段と、報知手段とを備え、
     第1の同報送信手段が、前記送信元サーバから受信したメッセージをすべての前記メッセージ処理装置に送信するステップと、
     メッセージ処理手段が、前記第1の同報送信手段から受信したメッセージを処理するステップと、
     第2の同報送信手段が、代表決定手段から受信した前記メッセージ処理手段の情報を、当該情報を送信したメッセージ処理装置以外の他のすべてのメッセージ処理装置に送信するステップと、
     代表決定手段が、自装置に設定された所定の情報と、他のメッセージ処理装置に設定された所定の情報とを比較し、自装置に設けられたメッセージ処理手段が代表であるか否かを決定するステップと、
     報知手段が、前記代表決定手段によって代表であると決定されたとき、前記メッセージ処理手段が処理したメッセージに応じた報知を行うステップと、
     を含むことを特徴とするメッセージ処理方法。
PCT/JP2011/065722 2011-07-08 2011-07-08 メッセージ処理システム及びメッセージ処理方法 WO2013008289A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13/395,430 US10277452B2 (en) 2011-07-08 2011-07-08 Message processing system and message processing method
PCT/JP2011/065722 WO2013008289A1 (ja) 2011-07-08 2011-07-08 メッセージ処理システム及びメッセージ処理方法
JP2012505911A JP5496320B2 (ja) 2011-07-08 2011-07-08 メッセージ処理システム、メッセージ処理方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/065722 WO2013008289A1 (ja) 2011-07-08 2011-07-08 メッセージ処理システム及びメッセージ処理方法

Publications (1)

Publication Number Publication Date
WO2013008289A1 true WO2013008289A1 (ja) 2013-01-17

Family

ID=47439327

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/065722 WO2013008289A1 (ja) 2011-07-08 2011-07-08 メッセージ処理システム及びメッセージ処理方法

Country Status (3)

Country Link
US (1) US10277452B2 (ja)
JP (1) JP5496320B2 (ja)
WO (1) WO2013008289A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014112432A (ja) * 2014-03-04 2014-06-19 Gree Inc メッセージ処理システム
JP2015191327A (ja) * 2014-03-27 2015-11-02 日本電気株式会社 システム監視装置、システムの監視方法、及びプログラム
US10277452B2 (en) 2011-07-08 2019-04-30 Gree, Inc. Message processing system and message processing method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9131355B2 (en) * 2011-09-30 2015-09-08 Cbs Interactive Inc. System and method of configuring operations of communication services
US9940835B2 (en) * 2014-01-16 2018-04-10 International Business Machines Corporation Dynamically routing messages in a publish/subscribe system by creating temporal topics for subscriptions and publications
US9961034B2 (en) * 2015-06-01 2018-05-01 International Business Machines Corporation Prioritization of lock allocation
US10169719B2 (en) 2015-10-20 2019-01-01 International Business Machines Corporation User configurable message anomaly scoring to identify unusual activity in information technology systems
US10728201B2 (en) * 2015-10-26 2020-07-28 Facebook, Inc. Batching of notifications
US10509531B2 (en) * 2017-02-20 2019-12-17 Google Llc Grouping and summarization of messages based on topics

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000324121A (ja) * 1999-05-11 2000-11-24 Kyushu Nippon Denki Tsushin System Kk ネットワーク管理システムにおける系切り替え装置および方法
JP2007052706A (ja) * 2005-08-19 2007-03-01 Matsushita Electric Works Ltd 遠隔監視制御システム、ゲートウェイ装置、及びセンタサーバ
JP2007257396A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd サーバ利用情報管理プログラム、サーバ利用情報管理装置、サーバ利用情報管理方法
JP2009171476A (ja) * 2008-01-21 2009-07-30 Hitachi Ltd サーバ管理システム及びその構築方法
JP2010220022A (ja) * 2009-03-18 2010-09-30 Nec Corp フラッディングアラームのマスク方法、ネットワーク管理サーバ及びプログラム

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654914B1 (en) * 1999-05-28 2003-11-25 Teradyne, Inc. Network fault isolation
US20030061323A1 (en) * 2000-06-13 2003-03-27 East Kenneth H. Hierarchical system and method for centralized management of thin clients
JP2002108728A (ja) * 2000-10-02 2002-04-12 Ntt Docomo Inc 障害情報の掲載方法およびプロバイダ設備
US20020198985A1 (en) * 2001-05-09 2002-12-26 Noam Fraenkel Post-deployment monitoring and analysis of server performance
US7676812B2 (en) * 2002-06-10 2010-03-09 Microsoft Corporation Large scale event notification system
AU2003247862A1 (en) * 2002-07-15 2004-02-02 Flarion Technologies, Inc. Methods and apparatus for improving resiliency of communication networks
US7428300B1 (en) * 2002-12-09 2008-09-23 Verizon Laboratories Inc. Diagnosing fault patterns in telecommunication networks
US7249162B2 (en) * 2003-02-25 2007-07-24 Microsoft Corporation Adaptive junk message filtering system
US20050080763A1 (en) * 2003-10-09 2005-04-14 Opatowski Benjamin Sheldon Method and device for development of software objects that apply regular expression patterns and logical tests against text
US20050278708A1 (en) * 2004-06-15 2005-12-15 Dong Zhao Event management framework for network management application development
JP2006058960A (ja) 2004-08-17 2006-03-02 Nec Corp 冗長構成のサーバシステムにおける同期化方法及びシステム
US8930579B2 (en) * 2004-09-13 2015-01-06 Keysight Technologies, Inc. System and method for synchronizing operations of a plurality of devices via messages over a communication network
US7996894B1 (en) * 2005-02-15 2011-08-09 Sonicwall, Inc. MAC address modification of otherwise locally bridged client devices to provide security
US8312135B2 (en) * 2007-02-02 2012-11-13 Microsoft Corporation Computing system infrastructure to administer distress messages
US7813341B2 (en) * 2008-01-29 2010-10-12 International Business Machines Corporation Overhead reduction for multi-link networking environments
US8422402B2 (en) * 2008-04-01 2013-04-16 International Business Machines Corporation Broadcasting a message in a parallel computer
CA2646117A1 (en) * 2008-12-02 2010-06-02 Oculus Info Inc. System and method for visualizing connected temporal and spatial information as an integrated visual representation on a user interface
US9384112B2 (en) * 2010-07-01 2016-07-05 Logrhythm, Inc. Log collection, structuring and processing
US8589732B2 (en) * 2010-10-25 2013-11-19 Microsoft Corporation Consistent messaging with replication
US8928760B2 (en) * 2010-12-07 2015-01-06 Verizon Patent And Licensing Inc. Receiving content and approving content for transmission
CA2724251C (en) * 2010-12-22 2012-05-15 Guest Tek Interactive Entertainment Ltd. System and method for aggregate monitoring of user-based groups of private computer networks
US8595359B2 (en) * 2011-03-08 2013-11-26 Cisco Technology, Inc. Efficient message distribution for directed acyclic graphs
WO2013008289A1 (ja) 2011-07-08 2013-01-17 グリー株式会社 メッセージ処理システム及びメッセージ処理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000324121A (ja) * 1999-05-11 2000-11-24 Kyushu Nippon Denki Tsushin System Kk ネットワーク管理システムにおける系切り替え装置および方法
JP2007052706A (ja) * 2005-08-19 2007-03-01 Matsushita Electric Works Ltd 遠隔監視制御システム、ゲートウェイ装置、及びセンタサーバ
JP2007257396A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd サーバ利用情報管理プログラム、サーバ利用情報管理装置、サーバ利用情報管理方法
JP2009171476A (ja) * 2008-01-21 2009-07-30 Hitachi Ltd サーバ管理システム及びその構築方法
JP2010220022A (ja) * 2009-03-18 2010-09-30 Nec Corp フラッディングアラームのマスク方法、ネットワーク管理サーバ及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10277452B2 (en) 2011-07-08 2019-04-30 Gree, Inc. Message processing system and message processing method
JP2014112432A (ja) * 2014-03-04 2014-06-19 Gree Inc メッセージ処理システム
JP2015191327A (ja) * 2014-03-27 2015-11-02 日本電気株式会社 システム監視装置、システムの監視方法、及びプログラム

Also Published As

Publication number Publication date
US10277452B2 (en) 2019-04-30
JP5496320B2 (ja) 2014-05-21
US20130013702A1 (en) 2013-01-10
JPWO2013008289A1 (ja) 2015-02-23

Similar Documents

Publication Publication Date Title
JP5496320B2 (ja) メッセージ処理システム、メッセージ処理方法、およびプログラム
EP2321908B1 (en) Method and system for message processing
US7269627B2 (en) Routing messages using presence information
JP4509545B2 (ja) 設定変更可能な信頼性の高いメッセージ通信システム
JP4818349B2 (ja) 分散システムおよび同システムの多重化制御方法
JP5768111B2 (ja) 通信エンタープライズサーバモニター
AU2005306434B2 (en) System and method for disaster recovery and management of an email system
US7987392B2 (en) Differentiating connectivity issues from server failures
US9269080B2 (en) Hierarchical publish/subscribe system
CN101573928A (zh) 用于在通信系统中递送消息的方法
CN106375200A (zh) 消息系统及消息处理方法
CN109412890B (zh) 基于dds的联合试验平台中间件节点状态检测方法
US20120327776A1 (en) Alarm Threshold For BGP Flapping Detection
JP4767336B2 (ja) メールサーバシステム及び輻輳制御方法
EP2442501B1 (en) Method and system for communicating multicast traffic over protected paths
EP2945314B1 (en) Distributed flow processing system fault tolerance method, nodes and system
JP5229007B2 (ja) 監視システム、ネットワーク機器、監視情報提供方法およびプログラム
US9426115B1 (en) Message delivery system and method with queue notification
JP5869018B2 (ja) メッセージ処理システム
CN105791015A (zh) 针对分布式告警处理系统的高可用消息传输通道及方法
US20060002525A1 (en) Auto block and auto discovery in a distributed communication system
CN112636999A (zh) 一种端口的探测方法和网络监控系统
JP5830434B2 (ja) 通信システム
EP2678977B1 (en) System and method for error reporting in a network
JP2010086095A (ja) 監視サーバ、ネットワーク監視方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2012505911

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 13395430

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11869400

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11869400

Country of ref document: EP

Kind code of ref document: A1