I would like to monitor some servers using munin, that are in a different network and are not reachable directly by telnet. I wonder what are the possibilities:
Can I install a central node in the remote network, that collects all data from other servers in this network?
Or would I have to do port-forwarding for each server I want to monitor?
The munin chaps seem to be aware of the need to do this, and they have a project in progress called munin relay, which would allow you to set up a single box at each site that could be seen by the central munin server, and in turn could see all the clients at that site, and which would proxy/relay the munin pull requests from the central server to the (unreachable to the server) clients.
Unfortunately, as the page states, this project isn't working yet. So you can either contribute to the project and make it work, or wait until it's ready, or use one or more of the three other methods listed on that page for contacting the (currently directly-unreachable) clients: tcp proxy, ssh tunnel (or some other vpn, I'd be inclined to look at OpenVPN or IPSec) or ssh:// requests (which will also require port-forwarding).
Or, to summarise the answer, at the moment you've either got to do port-forwarding so the server can reach all the clients directly, or install some kind of site-to-site VPN so the server can reach all the clients directly.
Sorry.
I don't use munin. I use nagios instead, but I think the idea should be the same.
It is much more bandwidth efficient and faster when you install and run the monitoring node in the same area of the monitored servers. You can then simply access the monitoring web interface to check the servers status.