A. Create a DataScript that performs a database lookup to the back-end database
B. Configure an External Health Monitor that performs a database lookup to the back-end database
C. Configure an HTTP Health Monitor to query a URI that returns a specific response only if a back-end database call is successful
D. Create a Virtual Service with the back-end database server as a pool member, and configure a TCP Health Monitor. Then, reconfigure the web servers to communicate with the database via this Virtual Service
Explanation:
Avi health monitors determine whether a pool server should receive traffic. For web applications, an HTTP or HTTPS health monitor can send a request to a specific URI and validate the response body or status code. VMware Avi documentation describes health monitor failures such as payload mismatch, where a server is marked down when the expected response content is not returned. The most reliable design is to make the application expose a health-check URI that performs its own dependency validation, including a database query, and returns the expected response only when the application and database path are functional. This confirms the actual application dependency rather than merely checking TCP reachability or the database independently. Therefore, the correct approach is to use an HTTP health monitor against a dependency-aware URI.