If you choose to create a custom health check, you can create one of the following types:

Admin Alert Health Check
This health check watches for administrative alerts generated by the LDAP external server to determine whether the server has entered a degraded or unavailable state.
Groovy Scripted LDAP Health Check
This health check allows you to create custom LDAP health checks in a dynamically-loaded Groovy script, which implements the ScriptedLDAPHealthCheck class defined in the Server SDK.
Replication Backlog Health Check
While the Admin Alert Health Check consumes replication backlog alerts emitted from external servers, a finer definition of external server health based on replication backlog can be defined with this health check. If a server falls too far behind in replication, then the PingDirectoryProxy server can stop sending requests to it. A server is classified as degraded or unavailable if the threshold is reached for the number of backlogged changes, the age of the oldest backlogged change, or both.
Search LDAP Health Check
This health check performs searches on an LDAP external server and gauges the health of the server depending on the response time in which the expected results were returned. For example, if an error occurs while attempting to communicate with the server, then the server is considered unavailable. You can also apply filters to the results to use values within the monitor entry as indicators of server health.
Third Party LDAP Health Check
This health check allows you to define LDAP health check implementations in third-party code using the Server SDK.
Work Queue Busyness Health Check
This health check can monitor the percentage of time that worker threads in backend servers devote to processing requests.