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.

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

    When pf.heartbeat.system.monitoring is set to false, the /pf/ endpoint returns OK. When set to true, the /pf/ 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 file, located in the <pf_install>/pingfederate/server/default/conf/template directory.

    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.

      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.