How to get a sense of how busy is the server
I wouldn't buy into an analysis done solely on batch per second. At the very least I would ask for a baseline to compare against (eg. "6 month ago we were handling 50 b/s, now we're doing 500 b/s"). Simply stating "our server handles 342 batches per second" does not say much. At the very least you could capture a timeline and say something like "there are daily spikes of b/s at 9:30 am". But you can do much, much more.

To start with, you need to learn some basics about the performance toolset at your disposal. First and foremost logman.exe. Absolutely read Windows Performance Monitor (all the sub-chapters too, there's a lot to learn there).

Next I would recommend reading How to analyse SQL Server performance. It really answers a lot of your questions. 

And now the answers to your questions:


  Do batch request per second the right approach to see how busy/overloaded/overworked the server is?


No.


  if yes then how do I capture this?


Not applicable.


  do I have to keep SQL profiler open and save the data daily?


Never. Even if trace events would be relevant, never SQL Profiler. Read about SQL Trace and server side tracing.


  is there an automated way that allow me to capture some sort of metrics on how much request is hitting the server?


Yes, many. the engine itself cpature a lot of info in wait stats, the OS exposes perf counter and a rich toolset around them. Read the articles linked above. 


  If batch request per second is not the right data, then what would be the right info to get? and how to get it?


Ditto, read the articles linked above to get some basic info and narrow down your question.