Template:FAQ:Agent 07
'exec'
will fork off the specified command and return the exit status
and/or the output. Any arguments are passed directly to the command.
'sh'
is similar, but invokes a shell to run the command line given.
This means that quoted arguments will be recognised as such, and also
allows redirection, and other similar shell interpretation. The results
are returned in exactly the same way.
'extend'
is also similar, but provides a richer and more
flexible MIB framework - both for configuring the exact command to be
run, and for displaying the results.
None of these mechanisms require the command to have any knowledge of the fact that they are being used in this manner. But the output is returned in a fixed format, and it is up to the receiving application to interpret this appropriately.
'pass'
is a more general mechanism for implementing
arbitrary MIB objects. The specified command will be invoked for any request within the named MIB subtree, and should return the information
relevant to the requested OID.
'pass-persist'
is similar, but the command will continue running even after the initial request has been answered.
All of these mechanisms are described in the 'snmpd.conf(5)'
man page, in the section entitled Extending Agent Functionality.