When you say down, but the services are running? Are you not getting polling statistics on your normal polling interval?
You can monitor with another app, or another polling engine. As the server should not be monitoring itself. Setup SNMP and monitor a few critical processes with SAM if you want to have a visual. Considering this is your box, there may be something going on here you want to fix. Also What version of NPM are you running?
In my experience, v9.5 would stop polling, and a restart of the services would bring it back to life most times.
Newer v10.x any issues where you get ping response and hardware details.. even the last polled is showing a current time; BUT your UnDP's are not updating.
Running the config wizard to restructure the db's may help. If it seems a fit;
shout out to Steven Carlson for making this easy to find in another post.