in reply to Monitoring a remote machine using Net::Telnet

If ssh access is available, try using Net::SSH::Expect. You can create a object that keeps the connection open (as long as the object exists) and pipe multiple commands to the host, capturing the output, and parsing as needed. When you kill the object, the connection closes. For multiple hosts, you can use that along with Parallel::ForkManager for multiple connections at once. At the least, read the docs to see if it fits your needs. Hope that helps.
  • Comment on Re: Monitoring a remote machine using Net::Telnet