Distributed metering and monitoring system
First Claim
1. A method for using a cluster for metering and monitoring a distributed system, comprising:
- assigning a plurality of nodes to the cluster;
assigning a node memory to the cluster;
obtaining metrics data for the plurality of nodes and cluster state data for the cluster;
storing the cluster state data and the metrics data into the node memory;
creating a message queue for an instance based on a user request;
identifying a number of nodes required for the instance to satisfy the user request, with the instance comprising at least 10,000 nodes;
determining a size of the cluster based on performance capacity of the plurality of nodes assigned to the cluster;
determining a ratio of the message queue to the cluster by dividing the number of nodes in the instance into a plurality of clusters and assigning the plurality of clusters to the message queue; and
retrieving the metrics data and the cluster state data from the node memory of the cluster for the instance by using the message queue according to the determined ratio.
1 Assignment
0 Petitions
Accused Products
Abstract
The distributed metering and monitoring service (DMMS) system provides a way to gather and maintain metrics data which remains distributed, until requested. The DMMS system uses messaging queues to scale the number of servers that may be monitored and metered to a hyperscale of greater than 10,000 servers. The DMMS system determines how many servers (nodes) to assign to a cluster, and uses a metric aggregator to collect and store metrics data for the nodes. The DMMS system creates message queues for the instances, injects instance identifiers into the cluster state data and metrics data, listens for request messages for metering information for instances, retrieves the metrics data for users identified by the instance identifiers stored locally at the nodes, and calculates the metering information for the instance.
-
Citations
20 Claims
-
1. A method for using a cluster for metering and monitoring a distributed system, comprising:
-
assigning a plurality of nodes to the cluster; assigning a node memory to the cluster; obtaining metrics data for the plurality of nodes and cluster state data for the cluster;
storing the cluster state data and the metrics data into the node memory;creating a message queue for an instance based on a user request; identifying a number of nodes required for the instance to satisfy the user request, with the instance comprising at least 10,000 nodes; determining a size of the cluster based on performance capacity of the plurality of nodes assigned to the cluster; determining a ratio of the message queue to the cluster by dividing the number of nodes in the instance into a plurality of clusters and assigning the plurality of clusters to the message queue; and retrieving the metrics data and the cluster state data from the node memory of the cluster for the instance by using the message queue according to the determined ratio. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a cluster for metering and monitoring the system; a plurality of nodes that are assigned to the cluster, wherein each of the plurality nodes assigned to the cluster has a node memory that is assigned to the cluster; a metric aggregator that collects metrics data for the plurality of nodes assigned to the cluster and collects cluster state data that are obtained for the cluster, wherein the cluster state data and the metrics data are stored in the node memory; a processor; a memory; and instructions stored in the memory when executed cause the processor to; determine a size of the cluster based on performance capacity of the plurality of nodes assigned to the cluster, and create a message queue for an instance based on a user request, wherein a number of nodes required for the instance are identified to satisfy the user request, with the instance comprising at least 10,000 nodes, and determine a ratio of the message queue to the cluster by dividing the number of nodes in the instance into multiple clusters, wherein the message queue is assigned to the multiple clusters, and the metrics data and the cluster state data are retrieved from the node memory of the cluster for the instance by using the message queue according to the determined ratio. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification