PostgreSQL Access Test

This test emulates a client executing a configured query on the database server, and in the process reports whether the server is available, and if so, how quickly it responds to the client queries. The unavailability of a network connection to the server and bottlenecks to responsiveness can thus be promptly isolated.

Target of the test : PostgreSQL server

Agent deploying the test: An external agent; if you are running this test using the external agent on the eG manager box, then make sure that this external agent is able to communicate with the port on which the target PostgreSQL server is listening. Alternatively, you can deploy the external agent that will be running this test on a host that can access the port on which the target PostgreSQL server is listening.

Outputs of the test : One set of results for the target PostgreSQL server.

Configurable parameters for the test
  1. TEST PERIOD – How often should the test be executed.
  2. Host – The IP address of the server.
  3. Port – The port on which the server is listening. The default port is 5432.
  4. User – In order to monitor a PostgreSQL server, you need to manually create a special database user account in every PostgreSQL database instance that requires monitoring. When doing so, ensure that this user is vested with the superuser privileges. The sample script we recommend for user creation for eG monitoring is:

    CREATE ROLE eguser LOGIN
    ENCRYPTED PASSWORD {‘eguser password’}
    SUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE;

    The name of this user has to be specified in the USERNAME text box.

  5. Password- The password associated with the above user name (can be ‘NULL’). Here, ‘NULL’ means that the user does not have any password.
  6. Confirm password – Confirm the password (if any) by retyping it here.
  7. dbname - The name of the database to connect to. The default is “postgres”.
  8. include db - Specify a comma-separated list of databases that you wish to monitor.
  9. query - Specify the select query to execute. The default is “select * from pg_tables”. Every DATABASE being monitored, should have a corresponding QUERY specification
  10. ssl - The name of this user has to be specified in the USERNAME text box.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Availability:

Indicates whether the database server is currently available or not.

Percent

The availability is 100% when the server is responding to a request and 0% when it is not. Availability problems may be caused by a misconfiguration/malfunctioning of the database server, or because the server has not been started.

Response time:

Indicates the time taken by this database to respond to a user query during the last measurement period.

Secs

A sudden increase in response time is indicative of a performance bottleneck at the database server.