The Agent side of OpenSMART consists of some (many ?) scripts to check the different things like running procs, full disks or things like that on your servers.
Because the agents will run on many servers with many different operating systems / versions, the agents have to be "perl only" and use just perl modules from the standard perl distribution. The agents have to work with any perl 5 implementation.
There is one "master agent" called 'osagent', which calls the other agent scripts, collect their output and send it to the collector server.