diff --git a/doc/Support/Support-New-OS.md b/doc/Support/Support-New-OS.md new file mode 100644 index 000000000..e605f6bd6 --- /dev/null +++ b/doc/Support/Support-New-OS.md @@ -0,0 +1,415 @@ +This document will explain how to add basic and full support for a new OS. **Some knowledge in PHP is needed for the full support.** + + +#### BASIC SUPPORT FOR A NEW OS + +### MIB + +If we have the MIB, we can copy the file into the default directory: + +```bash +/opt/librenms/mibs +``` + +### New OS definition +Let's begin to declare the new OS in LibreNMS. At first we modify the definition file located here: + +```bash +includes/definitions.inc.php +``` + +```php +// Pulse Secure OS definition +$os = 'pulse'; +$config['os'][$os]['text'] = 'Pulse Secure'; +$config['os'][$os]['type'] = 'firewall'; +$config['os'][$os]['icon'] = 'junos'; +$config['os'][$os]['over'][0]['graph'] = 'device_bits'; +$config['os'][$os]['over'][0]['text'] = 'Device Traffic'; +$config['os'][$os]['over'][1]['graph'] = 'device_processor'; +$config['os'][$os]['over'][1]['text'] = 'CPU Usage'; +$config['os'][$os]['over'][2]['graph'] = 'device_mempool'; +$config['os'][$os]['over'][2]['text'] = 'Memory Usage'; + +//The icon described before is the image we have to create and put in the directory html/images/os +``` + +### Discovery OS + +We create a new file named as our OS definition and in this directory: + +```bash +includes/discovery/os/pulse.inc.php +``` +This file just sets the $os variable, done by checking the SNMP tree for a particular value that matches the OS you are adding. Typically, this will come from the presence of specific values in sysObjectID or sysDescr, or the existence of a particular enterprise tree. +Look at other files to get help in the code structure. + +```php +