Skip to content

Adding Support for New Hardware, Vendors, or Firmware

If you need to add support for a device or enhance its functionality in Observium, you can submit a request for development.

To do this, you'll need to provide an SNMP dump of your device, run specific debug commands, and send us the corresponding console output.

Debug Output

If a device is already added to Observium but there are issues with discovering or polling its entities, you should generate debug output for the poller and discovery processes specific to that device:

cd /opt/observium
./discovery.php -d -h <device>
./poller.php -d -h <device>

This assumes that Observium is installed using the default installation path. If you have modified the installation path, use your custom path instead.

The <device> argument refers to the device_id in the Observium database. You can find it in the URL when viewing the device, for example: https://observium/device/device=374/ Here, the number 374 is the device_id in the Observium database. Alternatively, you can use the full hostname (or IP address) of the device as it was added to Observium.

SNMP Dump

For developing device support, we need an example of the device's original SNMP output, preserving the data types and numeric OIDs. We have created a script that applies the necessary options to the snmpwalk commands to ensure the original data from the device is retained.

For Devices Already Added to Observium

cd /opt/observium
./scripts/snmpdump.php -h <device>

The <device> argument is the same as for Debug output, described above. This command will save the complete SNMP dump of the device to a file (in the current directory) named <hostname>.snmpwalk, where <hostname> is the full hostname of the device as stored in the Observium database.

To view the specific commands that the script will execute, run:

./scripts/snmpdump.php -c -h <device>

If you want to save the SNMP dump to a custom path, use one of these options:

./scripts/snmpdump.php -h <device> -f /tmp/my_custom_file.snmpwalk

or pipe the output:

./scripts/snmpdump.php -h <device> > /tmp/my_custom_file.snmpwalk

For Devices Not Added to Observium

If the device has not yet been added to Observium or cannot be added for some reason, create an SNMP dump using the device's SNMP authentication parameters:

cd /opt/observium
./scripts/snmpdump.php -h <hostname> <community>

Here, <hostname> is the device hostname or IP address and <community> is the SNMP v2c community.

To use SNMP v3 authentication parameters, use the same parameters as in ./add_device.php. You can refer to these help message examples:

SNMPv1/2c:                    ./scripts/snmpdump.php <hostname> [community] [v1|v2c] [port] [udp|udp6|tcp|tcp6] [context]

SNMPv3   :         Defaults : ./scripts/snmpdump.php <hostname> any v3 [user] [port] [udp|udp6|tcp|tcp6] [context]
           No Auth, No Priv : ./scripts/snmpdump.php <hostname> nanp v3 [user] [port] [udp|udp6|tcp|tcp6] [context]
              Auth, No Priv : ./scripts/snmpdump.php <hostname> anp v3 <user> <password> [md5|sha|sha-224|sha-256|sha-384|sha-512] [port] [udp|udp6|tcp|tcp6] [context]
              Auth,    Priv : ./scripts/snmpdump.php <hostname> ap v3 <user> <password> <enckey> [md5|sha|sha-224|sha-256|sha-384|sha-512] [des|aes|aes-192|aes-192-c|aes-256|aes-256-c] [port] [udp|udp6|tcp|tcp6] [context]

To show snmpwalk commands or specify a custom snmpdump path, use the same command arguments as in the previous examples.

Using snmpwalk Commands Manually

If you cannot use our script and are familiar with command line and snmpwalk commands, use these commands (they are identical to the commands in the snmpdump script):

snmpwalk -v2c -c <community> -t 3 -Cc --hexOutputLength=0 -Ih -ObentxU <hostname> .1 > myagent.snmpwalk
snmpwalk -v2c -c <community> -t 3 -Cc --hexOutputLength=0 -Ih -ObentxU <hostname> .1.3.6.1.4.1 >> myagent.snmpwalk

Here, <hostname> is the device hostname or IP address and <community> is the SNMP v2c community. This command will save the complete SNMP dump of the device to a file (in the current directory) named myagent.snmpwalk.

Vendor MIBs

For device support development, we need the latest MIB files for the device (or the corresponding operating system).

Many vendors restrict access to their MIB files for unknown reasons. These files do not contain private information or commercial secrets. They can usually be accessed through the vendor's support portal or by making a direct request to the vendor. In some cases, these files are embedded within the device firmware and can be obtained from the device settings via the web interface.

Support Request

Submit all collected data and files to us by creating a support request using one of these methods:

Jira

Create a Jira issue here: Create Issue.

Attach all collected data. Note that after creating the support request, you'll receive an automatic reply asking for an SNMP dump and debug output. If you have already provided these, you can ignore that message.

Discord

You can get support and discuss Observium-related issues in our Discord channel here.

Please note that direct support requests to developers are available only to Professional and Enterprise subscription owners. Enterprise subscribers have priority support and their preferred contact method is through the Discord channel.