The honest answer is that availability testing through layer 7 is best suited for synthetic agents. If you execute a script and do not get back the expected results, the system is not available, be it at layer 1, 2, 3 or 7. Layer 7 is good, and tools from companies such as Evidant show the availability side. My company, Network Physics, provides an appliance that sees similar things (connections don't appear), and our appliance can now send alerts on this. However, in general, when you have an "on-demand, is the service up?" situation, a tool like Evidant is probably the way to go.
Defacto standards for availability measurements are probing mechanisms, from simple Ping to elaborate transactions simulations. These come from external sources. Leaders in this space are companies including Keynote, and the big SLA players. An alternative to this approach is the one that uses some form of '"heart-beat" measurement, which is a simple message generated by the device every so often (x number secs/minutes). You then have a manager that tracks the history and the alerts when the signal is missing.