Monitoring PGD Proxy#
Proxies can be monitored at the cluster and group level or at the process level.
Monitoring through the cluster#
Using SQL#
The current configuration of every group is visible in the bdr.node_group_routing_config_summary view.
The bdr.node_routing_config_summary view shows current per-node routing configuration.
bdr.proxy_config_summary shows per-proxy configuration.
Monitoring at the process level#
Proxy health check#
PGD Proxy provides the following HTTP(s) health check API endpoints. The
API endpoints respond to GET requests. You need to enable and
configure the endpoints before using them. See Postgres configuration .
Endpoint |
Description |
|---|---|
/health/is-ready |
Checks if the proxy can successfully route connections to the current write leader. |
/health/is-live |
Checks if the proxy is running. |
/health/is-write-ready |
Checks if the proxy can successfully route connections to the current write leader (PGD 5.5.0 and later). |
/health/is-read-only-ready |
Checks if the proxy can successfully route read-only connections (PGD 5.5.0 and later). |
Readiness#
On receiving a valid GET request:
When in default (write) mode, the proxy checks if it can successfully route connections to the current write leader.
When in read-only mode, the proxy checks if it can successfully route read-only connections.
When in any mode, the proxy first checks if it can successfully route connections to the current write leader. If it can, the check is successful. If not, it checks if it can route a read-only connection. If it can, the check is successful. If not, the check fails.
If the check returns successfully, the API responds with a body
containing true and an HTTP status code 200 (OK) . Otherwise, it
returns a body containing false with the HTTP status code
500 (Internal Server Error) .
Liveness#
Liveness checks return either true with HTTP status code
200 (OK) or an error. They never return false because the HTTP
server listening for the request is stopped if the PGD Proxy service
fails to start or exits.
Proxy log location#
Proxies also write logs to system logging where they can be monitored with other system services.
syslog#
Debian based -
/var/log/syslogRed Hat based -
/var/log/messages
Use the journalctl command to filter and view logs for
troubleshooting PGD Proxy. The following are sample commands for quick
reference:
journalctl -u pgd-proxy -n100 -f
journalctl -u pgd-proxy --since today
journalctl -u pgd-proxy --since "10 min ago"
journalctl -u pgd-proxy --since "2022-10-20 16:21:50" --until "2022-10-20 16:21:55"