Hello guys. I'm a Engineering Computer student and last week my programming professor offered me a "Science Iniciation" (how we say here in Brazil when a student starts a project with some professor). His idea is to build a web manager/monitoring system for the University's cluster, something like the Ganglia (http://ganglia.info/ ). I'm about to accept the offer but the thing is: I'm not sure how I'll collect the datas from the nodes (Ubuntu Server) through network using C/C++.
I know that exists a lot of C/C++ Libraries for Network manipulation but I would appreciate some ideas of how to build and which libraries use. I'm also open to using Python to the service's development. About the front-end I guess it won't be a problem, since I've more affinity with web development and design tools.
It's worth to mentioning that I've some good experience with Linux OS and I'm aware which files and functions to get the infos from a node, but now sure of how to send this information to a server.
Some initial thoughts:
1 - I'm pretty sure that will be needed to build two applications, one for the server machine, which will have the responsibility of centralize all the information and other (some kinda daemon tool) for the nodes, which will send the node's status through network.
2 - I'm not sure, but I guess I'll need to work with some layer 3 protocols, as ARP to find out if a certain node is on or not, something like that.
3 - I also would like to be capable of turn on (using Wake on Lan) and turn off some node from the front-end.
Well, think this is it. I hope that my question it's clear, my english isn't of the best ones. I'm new at the "Back-end World" so if there's big mistakes in my doubt's description, please let me know, so that way it won't happen again.