with nmap you able only to check listening port. I.e. you trying to connect to port 80 and if it was successful you (your monitoring system in this case) think that everything is ok. but this is not true in some cases.
for example, if we are talking about some web site, web server can listen on port 80, and nmap will tell you that everything ok, but it cannot tell you what is response of your server, is it your site, or some error message?
Nagios, in contrast, has many plugins for such deep analyse service's state. for example it has http_check which can only connect to given port and report you the result and can read the response of the server, find there string which you need (title of the web site for example) and many more.
there are many plugins with reach functionality for almost all services which you can use (mail, mysql, apache, etc).
i've installed and configured nagios recently. it is very well documented and i had no thoubles with it, and i'm not guru, i'm just a regular guy
so, i advice you to use Nagios instead of nmap. don't reinvent the wheel
use existing solutions.