SUB-SECOND NETWORK TELEMETRY USING A PUBLISH-SUBSCRIBE MESSAGING SYSTEM
The disclosed embodiments provide a system for performing sub-second network telemetry using a publish-subscribe messaging system. During operation, the system obtains, through the publish-subscribe messaging system, a stream of messages from a set of nodes connected by a set of links in a network. Next, the system analyzes network telemetry data associated with the nodes from the stream of messages. The system then outputs a telemetry result for the network based on the analyzed network telemetry data.
1 . A method, comprising:
obtaining, by a monitoring server through a publish-subscribe messaging system, a stream of messages from a set of nodes connected by a set of links in a network;
analyzing, by the monitoring server, network telemetry data associated with the nodes from the stream of messages; and
outputting a telemetry result for the network based on the analyzed network telemetry data.
2 . The method of claim 1 , wherein obtaining the stream of messages from the set of nodes comprises:
subscribing to one or more topics associated with network telemetry data in the publish-subscribe messaging system.
3 . The method of claim 1 , wherein analyzing the network telemetry data comprises:
applying a statistical model to the network telemetry data.
4 . The method of claim 1 , wherein analyzing the network telemetry data comprises:
correlating a set of events in the network telemetry data.
5 . The method of claim 1 , wherein outputting the telemetry result for the network based on the analyzed network telemetry data comprises:
updating a log with the network telemetry data.
6 . The method of claim 1 , wherein outputting the telemetry result for the network based on the analyzed network telemetry data comprises:
generating an alert based on the analyzed network telemetry data.
7 . The method of claim 1 , wherein outputting the telemetry result for the network based on the analyzed network telemetry data comprises:
displaying a visualization comprising the analyzed network telemetry data.
8 . The method of claim 1 , wherein the messages in the stream comprise:
a topic;
a timestamp;
a metric; and
a dimension.
9 . The method of claim 1 , wherein the network telemetry data comprises at least one of:
a bandwidth utilization;
an error rate;
an interface;
a packet count;
a fan speed;
a temperature;
a latency; and
a performance metric.
10 . The method of claim 1 , wherein the network telemetry data comprises one or more key-value pairs.
11 . A method, comprising:
capturing network telemetry data at node in a network; and
transmitting, by the node, a stream of messages comprising the captured network telemetry data to a publish-subscribe messaging system for processing by a monitoring server for the network.
12 . The method of claim 11 , further comprising:
configuring transmission of the network telemetry data by the node based on a configuration policy received through the publish-subscribe messaging system.
13 . The method of claim 12 , wherein configuring transmission of the stream of messages comprises at least one of:
configuring a frequency of the messages;
assigning one or more topics to the messages; and
configuring a content of the messages.
14 . The method of claim 11 , wherein the messages in the stream comprise:
a topic;
a timestamp;
a metric; and
a dimension.
15 . The method of claim 11 , wherein the network telemetry data comprises at least one of:
a bandwidth utilization;
an error rate;
an interface;
a packet count;
a fan speed;
a temperature;
a latency; and
a performance metric.
16 . A system, comprising:
a monitoring server comprising a non-transitory computer-readable medium comprising instructions that, when executed, cause the system to:
obtain, through a publish-subscribe messaging system, a stream of messages from a set of nodes connected by a set of links in a network;
analyze network telemetry data associated with the nodes from the stream of messages; and
output a telemetry result for the network based on the analyzed network telemetry data; and
the set of nodes, wherein each node in the set of nodes comprises a non-transitory computer-readable medium comprising instructions that, when executed, cause the system to:
capture the network telemetry data during processing of network traffic at the node; and
transmit a stream of messages comprising the captured network telemetry data to the publish-subscribe messaging system for processing by the monitoring server.
17 . The system of claim 16 , further comprising:
a policy server comprising a non-transitory computer-readable medium comprising instructions that, when executed, cause the system to transmit a configuration policy to the publish-subscribe messaging system,
wherein the non-transitory computer-readable medium of one or more nodes in the set of nodes further comprises instructions that, when executed, cause the system to configure transmission of the network telemetry data by the node based on the configuration policy received through the publish-subscribe messaging system.
18 . The system of claim 16 , wherein obtaining the stream of messages from the set of nodes comprises:
subscribing to one or more topics associated with network telemetry data in the publish-subscribe messaging system.
19 . The system of claim 16 , wherein the messages in the stream comprise:
a topic;
a timestamp;
a metric; and
a dimension.
20 . The system of claim 16 , wherein the network telemetry data comprises at least one of:
a bandwidth utilization;
an error rate;
an interface;
a packet count;
a fan speed;
a temperature;
a latency; and
a performance metric.