The Spring Boot Actuator, enabled by default, collects a wide variety of information to help you monitor and manage PingCentral in production environments and can be connected to your time series database in a few simple steps.
- https://localhost:9022/actuator/
- https://localhost:9022/actuator/metrics
Actuator data includes:
Endpoint | Usage |
---|---|
/beans |
Displays a list of the Spring beans in PingCentral. |
/caches |
Displays a list of available caches. |
/conditions |
Displays the conditions that were evaluated on configuration and auto-configuration. |
/configprops |
Displays a list of configuration properties. |
/env |
Displays a list of environment properties. |
/environmentConnectivity |
Returns a list of environments in PingCentral and their connectivity statuses. |
/environmentConnectivity/ <environmentName> |
Returns connectivity status of the specified environment. |
/health |
Displays health check information regarding PingCentral. |
/heapdump |
Used to perform a heap dump. |
/info |
Displays general information about PingCentral, such as the vendor and version number. |
/liquidbase |
Displays information regarding database migrations that have been applied. |
/loggers |
Displays the logger configuration for PingCentral. |
/mappings |
Displays a collated list of all @RequestMapping paths. |
/scheduledtasks |
Displays the scheduled tasks within PingCentral. |
/threaddump |
Used to perform a thread dump. |
Metrics data includes a wide variety of information, such as the amount of JVM (Java Virtual Machine) memory used, the number of Jetty threads used, and the amount of time it takes to complete processes. Counters and timers are also available for most API endpoints. Counters count the number of times an endpoint is hit, and timers measure the amount of time it takes for events to occur.
Spring Metrics collects a large amount of data, but it does not present the data in ways that are easy to understand. Consequently, many choose to move this data to either a Prometheus or Graphite time series database and use Grafana to view it through interactive dashboards with charts and graphs.
- Setting up Prometheus using basic authorization
- Setting up Prometheus using OAuth
- Setting up Graphite
- Setting up Grafana
- Accessing Prometheus and Grafana
Setting up Prometheus using basic authorization
Prometheus pulls information from PingCentral endpoints and stores the data it retrieves.
Setting up Prometheus using OAuth
Prometheus pulls information from PingCentral endpoints and stores the data it retrieves.
- Enable single sign-on (SSO) with OpenID Connect (OIDC) in PingCentral's application.properties file.
- Register an OAuth client in an authorization server with
grant_type = client_credentials
. Include the claims: 'sub', 'aud', and 'PingCentral-Role' in an issued access_token. - Configure the Resource Server section in the application.properties file.
For more information, see Setting up SSO for PingCentral.
Setting up Graphite
Use PingCentral to push data to the Graphite time series database.
Accessing Prometheus and Grafana
At Ping, we use Prometheus and Grafana to monitor PingCentral in our Docker PingCentral deployment in our CI/CD.
To access Prometheus and Grafana, use URLs that reflect their installation locations using the following format:
- Prometheus:
- Grafana:
Setting up Grafana
Use Grafana with either Graphite or Prometheus to view data through interactive dashboards with charts and graphs.