PostgreSQL Cluster Availability Test
This test monitors the overall health, availability, and performance of a PostgreSQL database cluster. It helps administrators assess the responsiveness of key database operations such as query execution and connection handling, while also verifying the availability of the cluster and its critical components. By providing real-time metrics on cluster availability, connection status, query performance, and data retrieval, this test enables early detection of potential issues that may impact database reliability or application performance.
Target of the test : A PostgreSQL Cluster
Agent deploying the test: An external agent
Outputs of the test :One set of results for each node on the target PostgreSQL cluster being monitored.
| Parameter | Description |
|---|---|
|
Test period |
How often should the test be executed |
|
Host |
The IP address of the host for which this test is to be configured. |
|
Port |
The port on which the server is listening. The default port is 5432. |
|
Username |
To monitor a PostgreSQL cluster, you must manually create a dedicated database user account on each PostgreSQL instance that you wish to monitor. To know how to create such a user based on where the target PostgreSQL cluster is installed (whether on-premises or hosted on Cloud), refer to How does eG Enterprise Monitor PostgreSQL Server?. |
|
Password |
The password associated with the above Username (can be ‘NULL’). Here, ‘NULL’ means that the user does not have any password. |
|
Confirm Password |
Confirm the Password (if any) by retyping it here. |
|
DB Name |
The name of the target database to connect to. The default is “postgres”. |
|
SSL |
This indicates that the eG agent will communicate with the PostgreSQL cluster via HTTPS or not. By default, this flag is set to No, as the target PostgreSQL database is not SSL-enabled by default. If the target cluster is SSL-enabled, then set this flag to Yes. |
|
Verify CA |
If the eG agent is required to establish an encrypted connection with the target PostgreSQL cluster by authenticating the server's identity through verifying the server CA certificate, set Verify CA flag to Yes. By default, this flag is set to No. |
|
CA Cert File |
This parameter is applicable only if the target PostgreSQL cluster is SSL-enabled.The certificate file is a public-key certificate following the x.509 standard. It contains information about the identity of the server, such as its name, geolocation, and public key. Each nodes of the target cluster can have individual certificate files or a single certificate can be used to access all the nodes in the cluster. Essentially, it’s a certificate that the server serves to the connecting users to prove that they are what they claim to be. Therefore, specify the full path to the server root certificate or certificate file that is signed by the CA in .crt file format for all/each node in the CA Cert File text box. For example, the location of this file may be: C:\app\eGurkha\JRE\lib\security\PostGreQL-test-ca.crt. By default, this parameter is set to none. This parameter specification differs according to the type of cluster and configuration: If the certificate file is available for each node of the PostgreSQL Cluster then, provide a comma-separated list of full path to the certificates in CA Cert File text box: For example:C:\app\eGurkha\JRE\lib\security\postgresql-test-ca.crt,C:\app\eGurkha\JRE\lib\security\postgresql-test-ca2.crt,C:\app\eGurkha\JRE\lib\security\postgresql-test-ca3.crt Specify the full path to the certificate file of the target PostgreSQL Cluster if a single certificate is used to access all nodes. For example: C:\app\eGurkha\JRE\lib\security\postgresql-test-ca.crt |
|
Client Cert File |
This parameter is applicable only if the target PostgreSQL Cluster is SSL-enabled. In order to collect metrics from the target PostgreSQL Cluster, the eG agent requires client certificate in .p12 format. Hence, specify the full path to the Client certificate file in .p12 format in the Client Cert File text box. For example, the location of this file may be: C:\app\eGurkha\JRE\lib\security\test-client.p12. |
|
Client Key File |
A client key file refers to a file containing the private key that corresponds to the public key used by a client. Provide full path of the file containing client key. |
|
Include Available Nodes |
In the Include Available Nodes text box, provide a comma-separated list of all the available nodes to be included for monitoring. This way, the test monitor and collect metrics from all the available nodes in the cluster. By default, this parameter is set to none. The format of this configuration is: HOSTNAME:PORT, for example, 172.16.8.136:3306,172.16.8.139:3306 |
|
DD Frequency |
Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD frequency. |
|
Detailed Diagnosis |
To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option. The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:
|
|
Measurement |
Description |
Measurement Unit |
Interpretation |
|---|---|---|---|
|
Database connection availability |
Indicates whether the database connection to this node is available or not. |
Percent |
If this measure reports the value 100, it indicates that the database connection is available. The value 0 on the other hand indicates that the database connection is unavailable. A connection to the database may be unavailable if the database is down or if the database is listening on a port other than the one configured for it in the eG manager or owing to a poor network link. If the Node availability measure reports the value 0, then, you can check the value of this measure to determine whether/not it is due to the unavailability of a connection to the server. The detailed diagnosis of this measure gives the details of connection unavailability. |
|
Database connection response time |
Indicates the time taken to connect to the cluster node. |
Seconds |
This measure is not reported for Summary descriptor. A high value could indicate a connection bottleneck. Whenever the Node response time measure soars, you may want to check the value of this measure to determine whether a connection latency is causing the poor responsiveness of the node. |
|
Query processor availability |
Indicates whether the query to this node is executed successfully or not. |
Percent |
This measure is not reported for Summary descriptor. If this measure reports the value 100, it indicates that the query executed successfully. The value 0 on the other hand indicates that the query failed. In the event that the Node availability measure reports the value 0, check the value of this measure to figure out whether the failed query is the reason why that measure reported a node unavailability. |
|
Query execution time |
Indicates the time taken for query execution on this node. |
Seconds |
This measure is not reported for Summary descriptor. A high value could indicate that one/more queries to the node are taking too long to execute. Inefficient/badly designed queries to the database often take too long to execute. If the value of this measure is higher than that of the Connection time measure, you can be rest assured that long running queries are causing the node to respond slowly to requests. |
|
Records fetched |
Indicates the number of records fetched from the database for this node. |
Number |
This measure is not reported for Summary descriptor. The value 0 indicates that no records are fetched from the database. |
|
Cluster availability |
Indicates whether the PostgreSQL cluster is available or not. |
Percent |
This measure is reported only for the Summary descriptor. This measure shows a value of 100% when all critical nodes (such as primary and quorum nodes) are reachable and operational, ensuring the high availability of the cluster. A value less than 100% may indicate one or more nodes are down, unreachable, or not responding, potentially impacting cluster operations. |
|
Average Response Time |
Indicates the average time taken by the cluster to respond to a query. |
Seconds |
This measure is reported only for the Summary descriptor. A sudden increase in response time is indicative of a potential performance bottleneck on the database cluster. |