This document targets developers or operators (DevOps) who have to cover a wider range of metrics via smart-snmpd.
To learn how to instruct smart-snmpd to deliver the new metrics, refer to the ”Operation Guide for Smart-Snmpd” in the OPERATION document.
Smart-snmpd comes with support to read metrics from the output of external executables. The executable is called in a configured interval and the delivered output is placed below the oid ”.100” under the configured root oid of the external command.
How external command MIBs can be configured is described in the section ”Setting up External Command MIBs” in the ”Operation Guide for Smart-Snmpd”.
The smart-snmpd will execute the configured command as configured without passing the command line to a shell. It’s guaranteed that the smart-snmpd runs the same command once only. The same command means, each configured external command. Defining several external MIBs using the identical external command results from the agent’s perspective in different commands. The guarantee is limited that the command X is not executed again before it finishes the running one.
The smart-snmpd observes the stdout, stderr, exit code and exit signal of each executed process. It sets timestamps for each execution start, end and successful MIB update.
Please refer to SMART-SNMP-MIB distributed with smart-snmpd to learn the oids how the observed metrics are made checkable.
Smart-snmpd expects the external command writes a list of three-piece-tuples in JavaScript Object Notation (JSON).
The delivered oids must not include the base oids.
Allowing smart-snmpd being extended via sub-agents using the AgentX protocol is a future task.
Allowing smart-snmpd being extended via external shared libraries is a future task.