I need to assemble a remote database administration system. The architecture is idealized and I only have to choose the right components. We will have Nagios instaled in a central server and we will need to develop agents (probably in PERL) and install them on the servers to be monitored, or if we have permission, to install the agents in an independent server, but in the same place. Those agents will have to perform the basic tests such as CPU, disk and will have to run SQL Scripts to query diferent databases. Agents requests are as follows: they have to be multi platform (Unix, Windows, Solaris,…) and have the least dependencies as possible, so that the installation is acessible.
To start I am analising and trying to modelate a comunication protocol between Nagios and the agents. The agents will have to send Nagios the results of the verifications of the service and if possible, something more than the simple OK or CRITICAL messages - customized messages. When the system administrator desires, Nagios will have to send configurations to update what the agent has to do and how.
For now, my major doubt is to find the method to adopt in order to meet the multi platform requirement so that I can make the agents communicate with Nagios. I am lost in NRPE, NCSA, SNMP, NXE… I want something recent and that would allow adaptation / evolution in the future. I am new in this systems and I loose much time trying to find something on Google and I cannot find suitable conclusions. If someone undrestood what I need and already have some experience in this, please, help me! I would very much appreciate.