I need an application that, when running on a machine (the controller), can monitor basic system resources and network connectivity for about 20 Windows servers/clients (the nodes), all in the same local network.
The nodes should be agentless, i.e. no dedicated client/agent should be installed on them.
If necessary, it's acceptable to manually configure any relevant service/permission on a node, as long as it's something that comes with the the OS by default (e.g. PowerShell). Installation of a Java virtual machine is also acceptable.
Supported operating systems for the controller and the nodes:
- Windows 8.1
- Windows Server 2012 R2
- Windows 10
Some other must-have requirements:
- It's free and open-source
The following data is collected every X seconds:
- IP connectivity (ping)
- Uptime/Downtime
- CPU usage
- Physical and virtual memory usage
- Disk usage
- The controller requires a minimal configuration/setup, possibly without the need of prerequisites such as a full-fledged RDBMS or a full-fledged Web Server (e.g. MySQL, Apache).
- The data is saved on the filesystem or on a SQLite database, on the controller.
The nice-to-have requirements:
- The controller can send e-mails to alert predefined users about particular events (e.g. lost of network connectivity)
- The real-time and/or historical data can be displayed remotely on a browser, from a few users on their own machines
- It has ready-to-use plugins to monitor other system resources and/or can be extended by writing custom plugins
Before writing my own, I was wondering if something with these features already exists.