Two alternative bits of Open Source software you might find helpful:
Nagios
OpenNMS
Both cover most of the ground you're interested in, and can be customised with user-defined extensions which call scripts or run shell commands.
Both also have active and helpful user communities.
A non-Perl answer, but then it's not really a Perl question!