Failover monitoring using dynamic traffic tagging
Systems and methods for failover monitoring using dynamic traffic tagging are disclosed. In an example method, a computing device outputs failover information including a designation of a current failover location. The computing device receives, from a server device, a failover status message indicating that the server device received a request message including the current failover location. The computing device then outputs a second failover information including a second designation of a second network location as the current failover location. The computing device receives from the server device, a second failover status message indicating that the server device received a second request message including a network location other than the current failover location. The computing device then outputs a failover failure notification and outputs a command to cause a corrective action.
1 . A method, comprising:
outputting first failover information, the first failover information including a first designation of a first network location as a current failover location, wherein the first failover information is received by one or more server devices;
receiving, from a first server device of the one or more server devices at the first network location, a first failover status message, comprising:
a first indication that the first server device received a first request message, the first request message including the current failover location; and
a second indication that the first network location matches the current failover location;
outputting second failover information, the second failover information including a second designation of a second network location as the current failover location, wherein the second failover information is received by the one or more server devices;
receiving, from the first server device at the first network location, a second failover status message, comprising:
a third indication that the first server device received a second request message, the second request message including the current failover location; and
a fourth indication that the first network location does not match the current failover location;
outputting a failover failure notification, the failover failure notification including the fourth indication that the first network location does not match the current failover location; and
responsive to the first network location not matching the current failover location, outputting a failover corrective action, the failover corrective action including a command to cause the first network location to match the current failover location.
2 . The method of claim 1 , further comprising:
receiving, from a second server device of the one or more server devices at the second network location, a third failover status message, comprising:
a fifth indication that the second server device received a third request message, the third request message including the current failover location; and
a sixth indication that the second network location matches the current failover location; and
wherein the current failover location is added to the third request message by a fourth server device of the one or more server devices at the first network location.
3 . The method of claim 2 , wherein adding the current failover location to the third request message by the fourth server device at the first network location comprises:
receiving the third request message;
determining that the first network location does not match the current failover location;
updating the third request message to include the current failover location; and
outputting the third request message to cause the third request message to be forwarded to the second network location.
4 . The method of claim 3 , wherein, upon receiving the third request message by the fourth server device at the first network location, the third request message does not include the current failover location.
5 . The method of claim 2 , wherein:
the fourth server device at the first network location is executing a network application;
the current failover location is added to the third request message by an extension of the network application; and
the fifth and sixth indications are generated by the extension of the network application.
6 . The method of claim 1 , wherein the current failover location is included in the first and second request messages by a network client application.
7 . The method of claim 1 , wherein the first request message is a first Hypertext Transfer Protocol (HTTP) request message and the second request message is a second HTTP request message.
8 . The method of claim 7 , wherein the current failover location is included in an HTTP header of the first and second HTTP request messages.
9 . The method of claim 7 , wherein the current failover location is included in a body of the first and second HTTP request messages and the current failover location is included in a JavaScript Object Notation (JSON) object.
10 . The method of claim 1 , wherein the first failover information is received by the first server device during an initialization process and in response to a query.
11 . The method of claim 1 , wherein the first failover information is received by the first server device periodically in response to periodic queries.
12 . The method of claim 1 , wherein:
the first failover information and the second failover information are broadcast messages; and
the first server device receives the first failover information and the second failover information in response a subscription to a message queue.
13 . The method of claim 1 , wherein the command to cause the first network location to match the current failover location includes instructions for updating one or more configuration settings.
14 . The method of claim 1 , wherein the command to cause the first network location to match the current failover location includes instructions to resend the second failover information.
15 . A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:
outputting first failover information, the first failover information including a first designation of a first network location as a current failover location, wherein the first failover information is received by one or more server devices;
receiving, from a first server device of the one or more server devices at the first network location, a first failover status message, comprising:
a first indication that the first server device received a first request message, the first request message including the current failover location; and
a second indication that the first network location matches the current failover location;
outputting second failover information, the second failover information including a second designation of a second network location as the current failover location, wherein the second failover information is received by the one or more server devices;
receiving, from the first server device at the first network location, a second failover status message, comprising:
a third indication that the first server device received a second request message, the second request message including the current failover location; and
a fourth indication that the first network location does not match the current failover location;
outputting a failover failure notification, the failover failure notification including the fourth indication that the first network location does not match the current failover location; and
responsive to the first network location not matching the current failover location, outputting a failover corrective action, the failover corrective action including a command to cause the first network location to match the current failover location.
16 . The non-transitory computer-readable medium of claim 15 , further comprising instructions to cause the one or more processors to perform the operations:
receiving, from a second server device of the one or more server devices at the second network location, a third failover status message, comprising:
a fifth indication that the second server device received a third request message, the third request message including the current failover location; and
a sixth indication that the second network location matches the current failover location; and
wherein the current failover location is added to the third request message by a network application executing on a fourth server device of the one or more server devices at the first network location.
17 . The non-transitory computer-readable medium of claim 16 , wherein the network application includes an extension generated using a software development kit (SDK).
18 . A system comprising:
one or more processors; and
one or more computer-readable storage media storing instructions which, when executed by the one or more processors, cause the one or more processors to perform operations including:
outputting first failover information, the first failover information including a first designation of a first network location as a current failover location, wherein the first failover information is received by one or more server devices;
receiving, from a first server device of the one or more server devices at the first network location, a first failover status message, comprising:
a first indication that the first server device received a first request message, the first request message including the current failover location; and
a second indication that the first network location matches the current failover location;
outputting second failover information, the second failover information including a second designation of a second network location as the current failover location, wherein the second failover information is received by the one or more server devices;
receiving, from the first server device at the first network location, a second failover status message, comprising:
a third indication that the first server device received a second request message, the second request message including the current failover location; and
a fourth indication that the first network location does not match the current failover location;
outputting a failover failure notification, the failover failure notification including the fourth indication that the first network location does not match the current failover location; and
responsive to the first network location not matching the current failover location, outputting a failover corrective action, the failover corrective action including a command to cause the first network location to match the current failover location.
19 . The system of claim 18 , further comprising instructions to cause the one or more processors to perform the operations:
receiving, from a second server device of the one or more server devices at the second network location, a third failover status message, comprising:
a fifth indication that the second server device received a third request message, the third request message including the current failover location; and
a sixth indication that the second network location matches the current failover location; and
wherein the current failover location is added to the third request message by a network application extension executing on a fourth server of the one or more server devices at the first network location.
20 . The system of claim 19 , wherein:
the network application extension is generated using an application programming interface (API) included in a software development kit (SDK); and
a build configuration file causes the API to be included in the network application extension.