This document is a first sketch at what the requirements are for the "Open Agent". There are lots of agent technologies out there and this document should serve has a guide when evaluating existing agents. The last thing we want to do is create an agent technology from scratch.
Manager - software that is providing a centralized monitoring or management function that interacts with the "Agent" to perform its functionality.
Agent - the shell program that can internally run "Plugins" and has an external interface to enable standards based communication with management systems.
Plugin - program or code that runs within the agent and is used to augment its functionality.
broad platform support - all unix and windows
automated agent shell upgrade mechanism
standards based remote API
SOAP
XML-RPC
WS-Management
WBEM / CIM-XML
secure communication mechanism
easy mechanism for plugin implementation
internal API for plugin to shell communications
ability implement plugin (with API access) in major languages:
Perl, Python, Ruby, C, Java
built into the OS
agent deployment mechanism
scheduling mechanism
plugin deployment mechanism
ability to cache data locally (during network failure)
ability to initiate connection from agent->manager or manager->agent
lightweight foot print
Plugins compiled when agent is started?
standard backend data model or other normalized view
CIM?
common pre-built plugins like:
filesystem, process, log file monitoring
create user, start/stop service
inventory hardware and software
Discovery : try to detect which plugin can be used on the system regarding available ones
Eric,
one thing that I think is an important req for the agent is to support being behind the same fw as the manager and also being behind different firewalls. So, in the latter case, it would work in a managed service type deployment. I wasn't sure if this req was covered above, so I wanted tomention it.
Thanks
Greg
Looks good.
just saw also the Hyperic Red Hat announcement that includes talk of a common agent.
http://www.eweek.com/c/a/Infrastructure/Red-Hat-Hyperic-Make-Theirs-An-Open-Rela tionship/
"The RHQ project will be open to contributions from other developers as well.
The primary focus of the project is to insure interoperability of management agents from both Red Hat and Hyperic. "Management extensions from one product suite will work with the other's server stack. We'll use common models in the way we manage our data," Melmon explained.
The project will also serve to speed development of provisioning and configuration management functions, he added."
thoughts from others here?