NOC provides extensive capabilities for extending the system's functionality by adding custom code. This allows you to modify the system's behavior within broad limits and compensate for any missing features.
List of Supported Extensions¶
The following extensions are supported for the system:
bi- Models for
CMIBs(Custom MIBs) files.
commands- Command tools.
geocoder- GIS geocoders for external systems.
etl- Data synchronization adapters with external systems ETL.
extractors- ETL adapters for external systems.
loader- Custom loaders.
portmappers- Adapters for mapping interfaces with external systems.
handlers- Directory with handlers Handlers.
sa- Interaction with devices.
services- System service extensions.
Jinjatemplates for various parts of the system.
ddash- Templates for
PM(Performance Monitoring) metric graphs.
tt- Adapters for trouble ticket escalation systems (
Extensions are stored separately from the main code and are dynamically loaded by the system at startup. The main requirement is that an extension should occupy a specific place in the file system structure. The root directory for the extension is set through the
custom_path setting in the
path section of the global configuration Custom Path. This setting is made during system installation in the
Tower. By default, it is located at
/opt/noc_custom, and the structure looks as follows:
. ├── bi │ └── models ├── cmibs ├── collections │ ├── fm.alarmclasses │ └── sa.profiles ├── commands ├── core │ └── geocoder ├── etl │ ├── bi │ ├── extractors │ ├── loader │ └── portmappers ├── handlers │ ├── alarms ├── lib │ └── app ├── sa │ ├── interfaces │ └── profiles ├── services │ ├── card │ ├── nbi │ └── web ├── templates │ └── ddash └── tt
To apply changes in the custom code, it is essential to restart the process (or the entire NOC).