librenms/DEVELOPING

40 lines
1.5 KiB
Plaintext

Adding a new device class (os type)
===================================
Create a file in includes/discovery/os, which fills the OS type variable if
you can identify the device as such (sysDescr, sysObjectId or similar). Please use a
meaningful name!
Adjust discovery.php, running specific command based on OS type, if needed.
Create includes/polling/os/$osname.inc.php, for device specific polling.
Add an OS text name and possibly other settings in includes/static-config.php
If desired, create a 32x32 logo, in html/images/os/$osname.png.
When tested and satisfied, please submit a patch to the development team! ;-)
Adding a new Application
========================
The applications system is quite simple, and just involves including files based on entries in the database
Applications are 'polled' by scripts in includes/polling/applications/<application>.inc.php
Applications are 'displayed' by scripts in html/pages/device/apps/<application>.inc.php
Graph types can be created in html/includes/graphs/<graph_type>.inc.php
The application name corresponds to the app_type field in the applications database table.
for example, apache is polled by includes/polling/applications/apache.inc.php
This populates an rrd file with data via SNMP (but could easily parse the www output, or ssh, or anything)
the graph types have been defined as html/includes/graphs/apache_*.inc.php
the graphs are loaded with a bit of descriptive text by html/pages/device/apps/apache.inc.php