I would firstly suggest tidying your post before the magic Perl pixies do it for you. See
here for some writeup formatting tips.
Otherwise, you have a lot you want to do - you probably want to investigate:
- Net::SNMP - this would be for hardware/software monitoring, but probably needs a wider infrastructure to do a lot of what you want.
- You don't say was OSs you're using - Windows? Linux? Other? Each of these will have different authentication mechanisms and event logging, so you'll need to expand a bit before we can recommend anything to see who was logged on where
- As this is a Perl discussion group, it's waaay off topic, but you may want to look at Microsoft MOM or Big Brother - both of these do monitoring and can fire off "tasks", like traceroute, nslookup etc. The latter also uses Perl for monitoring I believe
Update:Added link to Net::SNMP