Report generation using script

Hi all

I have a unix script that generates a report with the following information:
uptime, mounted file systems, disk usage (> 90% --> critical, <75%-90%> --> warning, < 75% healthy), Mem usage, CPU usage and load average.

But I would like to create one single report containing all this information but for 10 servers.
Please can you give an hint in how do I go about it

Ever considered deploying Nagios?

Addendum:
More seriously, many options you have and we can't decide for you... About Nagios: Depending on your aim (looking at what your script returns...) It could be of some interest...
Q:
1- Many hosts, multi platforms?
2- Any other monitoring tools being used?
3- If only this script, how are you returning/look at the logs of other servers? Can an alternative method be acceptable?
...
...

Yes, I did consider nagios, and even setup the host server, but I am struggling to add hosts (clients).
They are (clients) hp-ux, solaris and centos servers that I want to monitor:
its nagios core version 4.0.8.

But for now what is needed is something very simple, like an excel spreadsheet with a summary information of the health status of the servers

Cannot you simply iterate over the list of hosts calling your existing script for each host spooling the results to one aggregated report?

Here is how I might approach this:

  • Install your script on all 10 of your servers and make sure it works for each.
  • Optional: Install a secure (HTTPS) web server on each server.
  • Optional: Configure a page to use PHP or Python (for example) to call your monitoring script.
  • Optional: Test to make sure you can call this script from an HTTPD call. You can secure this script as required.
  • Modify your script to return your monitoring information (either as an API or write to file) as a serialized JSON object (your API).
  • Optional: Test and confirm you can call your API.
  • Optional: Install this API on all servers.
  • Note: If you do not want to install a web server, you can do this with other methods, for example write the JSON object to a file and use rsync .
  • Optional: Create a web page on a secure server which will call all 10 APIs and display the information on a single web page.

Not knowing your environment and other considerations, if I was doing to do this, I would go with the secure web solution, create the API in PHP to call your monitoring script and format the API return (serialized JSON object). Then I would write another app to call this API (in a loop) for each server and display the results in a dashboard with some canned dashboard dials using a standard Javascript lib for this.

Having not seen your script, I estimate this entire project can be coded and tested in less than a day, two days at the most considering there are 10 servers.

Hope this helps.