I would have thought that monitoring would be against application level metrics directly and AWS level stuff is more informational next step in pinpointing the source?
You ideally want both. If you understand the performance profile of your dependencies (even if it's degraded), because you control the application you can compensate, through retries or batching or caching or request pooling, etc.
The last thing you want to be doing when an issue arises is debugging your whole stack to find the root cause while your customers sit on their hands angrily.
The last thing you want to be doing when an issue arises is debugging your whole stack to find the root cause while your customers sit on their hands angrily.