PingFederate Server

Customizing the heartbeat message

The heartbeat endpoint, /pf/heartbeat.ping, returns a customizable OK browser message and an HTTP 200 status indication if the PingFederate server is running.

About this task

You can customize the message by modifying the pf.heartbeat.system.monitoring PingFederate property.

If a GET request receives a connection error or an HTTP status code other than 200, the server associated with the endpoint is down or malfunctioning.

Steps

  1. Set the pf.heartbeat.system.monitoring property in the <pf_install>/pingfederate/bin/run.properties file to true or false.

    When pf.heartbeat.system.monitoring is set to false, the /pf/heartbeat.ping endpoint returns OK. When set to true, the /pf/heartbeat.ping endpoint returns all available statistics.

    Before exposing these additional statistics on the heartbeat endpoint, ensure the endpoint cannot be reached beyond the load balancer so that this information isn’t publicly available.

  2. Restart PingFederate.

  3. If you want to customize the information returned by the heartbeat endpoint, edit the heartbeat.page.template file, located in the <pf_install>/pingfederate/server/default/conf/template directory.

    Metrics can make the heartbeat response very large, especially if your PingFederate configuration has many connections or adapters. You can use wildcard patterns in heartbeat.page.template to limit the metrics included in the response.

    Template customization does not require a restart of PingFederate. For a clustered PingFederate environment, repeat these steps on each node.

  4. If you want to specify percentiles in addition to, or in place of, the default 90th percentile in the statistics reported on the heartbeat:

    1. Edit the com.pingidentity.monitoring.MonitoringService.xml file located in the <pf_install>/pingfederate/server/default/data/config-store directory.

    2. Change the value of the StatisticsPercentilesList item to the preferred percentile. You can enter a single value, such as 99.9, or multiple values separated by commas, such as 80,90,99.5.

      The StatisticsPercentilesList item allows you to customize the percentiles displayed in the heartbeat endpoint response of the metrics ending in .<StatisticsPercentilesList>.percentile. Percentiles can be a helpful way to understand a metric’s distribution and identify patterns or trends over time. They can also be used to set performance targets or to identify bottlenecks in a system.

      In the context of server response metrics, you can use percentiles to compare a server’s response time to other servers or previous periods. For more information, including a complete list of server metrics and their descriptions, see Liveliness and responsiveness.

      Example:

      Setting the StatisticsPercentilesList item to 50 will display the 50th percentile of a server’s response time in the heartbeat endpoint response. A value of 200 milliseconds for the 50th percentile means that 50% of the server’s responses were faster than 200 milliseconds, while 50% were slower. Similarly, a value of 500 milliseconds for the 95th percentile means that 95% of the server’s responses were faster than 500 milliseconds, while 5% were slower.

    3. Save your changes.

  5. If you want to completely disable tracking of adapter or connection metrics:

    1. Edit thecom.pingidentity.monitoring.MonitoringService.xml file located in the <pf_install>/pingfederate/server/default/data/config-store directory.

    2. To disable adapter metrics, change the value of the EnableAdapterMetrics item to false.

    3. To disable connection metrics, change the value of the EnableConnectionMetrics item to false.

    4. Save your changes.