I use Nagios / NRPE for our JIRA server (which also runs Confluence), together with Munin for tracking resources over time (handy for looking for memory / CPU spikes, excessive DB accesses, etc.)
Apart from the standard checks that come with NRPE, I added the following for JIRA:
- A check_http check that makes sure the application is up
- A check_file_age check that verifies the JIRA backup file has created and is the expected size.
We set up an external SMTP server in our JIRA instance, so there's not much to check regarding email; if you have your outgoing mail server running on the JIRA machine, you could add a Nagios check to make sure its outgoing mail queue isn't getting too full (Munin also monitors this by default). You could also maybe use a WebInject test to log into JIRA and go to the admin page that shows the size of the mail queue.