×

System, method, and computer program for highly available and scalable application monitoring

  • US 10,498,617 B1
  • Filed: 11/30/2016
  • Issued: 12/03/2019
  • Est. Priority Date: 11/30/2016
  • Status: Active Grant
First Claim
Patent Images

1. A method, comprising:

  • assigning, by a monitoring system having a plurality of collectors servers, each reporting agent of a plurality of reporting agents to a corresponding collector server of the plurality of collector servers, wherein each reporting agent of the plurality of reporting agents is embedded in a corresponding one of a plurality of applications of an application system being monitored for overall system health and performance, wherein assigning each reporting agent of the plurality of reporting agents to the corresponding collector server of the plurality of collector servers includes;

    grouping the reporting agents in the plurality of reporting agents into a plurality of responsibility groups,assigning each collector server of the plurality of collector servers with a sequence number corresponding to one of the responsibility groups in the plurality of responsibility groups,wherein each collector server creates an in memory list of reporting agents included the one of the responsibility groups corresponding to the sequence number assigned to the collector server and wherein the in memory list is updated each time one of the reporting agents in the list disconnects from the collector server and each time a new reporting agent connects to the collector server, andwherein the monitoring system dynamically splits a workload among the plurality of collector servers by reassigning each reporting agent of the plurality of reporting agents to a new corresponding collector server of the plurality of collector servers when a new collector server is added to the plurality of collector servers and when an existing collector server of the plurality of collector servers is removed from the plurality of collector servers;

    receiving, by the plurality of collector servers of the monitoring system, a plurality of metrics from the plurality of reporting agents, the plurality of metrics including health state and performance data for the plurality of applications;

    aggregating, by the monitoring system, the plurality of metrics in a shared memory accessible to the plurality of collector servers;

    applying, by the monitoring system, one or more rules to the plurality of metrics;

    based on the applying of the one or more rules to the plurality of metrics, determining, by the monitoring system, to dispatch one or more alerts and the plurality of metrics to one or more downstream systems of the monitoring system; and

    dispatching, by the monitoring system, the one or more alerts and the plurality of metrics to the one or more downstream systems utilizing one or more points of access to the one or more downstream systems;

    consuming, by the one or more downstream systems of the monitoring system, the plurality of metrics for taking automatic action including scaling of the plurality of applications.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×