Adding support for a new hardware, vendor 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 snmpdump 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 discovery or polling its entities, you should make 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.
Argument <device>
- this refers to 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 device_id
in the Observium database. Alternatively, this should be the full hostname (or ip address) of the device as it was added to Observium.
Snmpdump
For developing device support, we need an example of the device’s original SNMP output, preserving the data types and numeric OIDs. To facilitate this, we have created a script that applies the necessary options to the snmpwalk commands to ensure the original data from the device is retained.
device already added to Observium
cd /opt/observium
./scripts/snmpdump.php -h <device>
Here <device>
argument is same as for Debug output, please look a little higher.
This command will save the complete SNMP dump of the device to a file (in the current directory) named <hostname>.snmpwalk
, where <hostanme>
is a full hostname of device as in Observium database.
To view the specific commands that the script will execute, run the following command:
./scripts/snmpdump.php -c -h <device>
If you want to save the SNMP dump to a custom path, add one of the following arguments:
./scripts/snmpdump.php -h <device> -f /tmp/my_custom_file.snmpwalk
or pipe
./scripts/snmpdump.php -h <device> > /tmp/my_custom_file.snmpwalk
device 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 device hostname or ip address and <community>
is SNMP v2c community.
For make same with SNMP v3 auth parameters use parameters same as in ./add_device.php
, you can look at 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]
For show snmpwalk commands or specify custom snmpdump path, use same command argument as in previous examples.
snmpwalk commands manually
If for some reason you cannot use our script and you know how to use the command line and snmpwalk commands, use these commands (they completely repeat 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 device hostname or ip address and <community>
is 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 (for reasons unknown to anyone) restrict access to their MIB files. 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
Now, all the collected data and files need to be sent to us by creating a support request using one of the available methods.
Jira
Jira issue can created here: Create Issue.
Attach all collected data. Please note, after creating the support request, an automatic reply will be generated, which will again highlight the need to create an SNMP dump and debug output. If you have already done this, there is no need to respond to that message.
Discord
You can reach out for support and discuss any Observium related issues in our Discord channel here.
Please note that support requests directly to the developers are available to owners of Professional and Enterprise subscriptions. Enterprise subscribers have priority support and the preferred method of contact is through the Discord channel.