The standard application monitors are great, but they don't work for custom or proprietary application protocols. What I am looking for is a TCP and/or UDP component monitor that allows you to specify the ASCII, HEX or binary data to send in a TCP request as well as the ASCII, HEX or binary data that should be returned. This is very similar functionality to the HTTP monitor, but would allow you to specify the entire data stream and expected response. This would allow you to monitor deep into virtually any application that listens on a TCP or UDP port.
Our specific use case is for a business critical middleware application that uses a proprietary ASCII based protocol on the front end and a SQL database connection on the backend to retrieve data from a database. We need to validate that the application can retrieve data from the database so a simple TCP ping monitor or service monitor doesn't quite do it.