For balancing the load and distributing access to the ADQM database, you can use Chproxy. It is an HTTP proxy that can:

  • evenly distribute queries between all nodes of the ADQM cluster (all nodes are considered equal);

  • monitor health of cluster nodes and prevent from sending requests to unavailable nodes;

  • limit HTTP access by a list of allowed IP addresses/IP subnet masks;

  • authorize users safely — Chproxy can map users sending requests to users of the ADQM cluster without exposing real usernames and passwords used in ADQM.

Install Chproxy

The Enterprise edition of ADQM includes the Chproxy service (starting with version that you can install to an ADQM cluster as any other service. To do this, follow the steps below:

Configure Chproxy via ADCM

You can configure paramеters of the Chproxy service in the corresponding window of the ADCM web interface. The Configure services article includes detailed instructions on how to access this window.

chproxy configuration
Chproxy service configuration

The following parameters are available for the Chproxy service:

  • Server configuration:

    • Listen port — port to listen for HTTP requests (the default is 9090);

    • Allowed networks — list of allowed networks. To define a network, use IP address or IP subnet mask (the value is added to the list by default).

  • Proxy wildcarded users:

    • List of user names — list of values used as prefixes in names of wildcarded users that look like prefix_* patterns. For example, if the analyst item is added to this list, the analyst_* pattern is specified. In this case, Chproxy will not authenticate users whose names match this pattern (for example, analyst_john) — it will send user credentials from incoming requests to ADQM intact.

      Note that an ADQM user can be created via the CREATE USER query, for example:

  • ADQM cluster configuration:

    • Interval — interval for checking all cluster nodes for availability (the default is 5s);

    • Timeout — waiting time of response from cluster nodes (the default is 5s).

    These parameters are used for checking health of cluster nodes. Chproxy service components send a health check request to all nodes of the ADQM cluster at a frequency specified by the Interval parameter. If this request does not receive a response from some node of the cluster within the time specified by the Timeout parameter, Chproxy will stop sending queries to this node.

Found a mistake? Seleсt text and press Ctrl+Enter to report it