Custom¶
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 forBI
(Business Intelligence).cmibs
-CMIBs
(Custom MIBs) files.commands
- Command tools.collections
- Collections.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.profiles
- SA (Service Activation) profiles SA Profile.interfaces
- SA interfaces SA Interface.
services
- System service extensions.templates
-Jinja
templates for various parts of the system.ddash
- Templates forPM
(Performance Monitoring) metric graphs.
tt
- Adapters for trouble ticket escalation systems (TroubleTicket
).
Custom Structure¶
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
Note
To apply changes in the custom code, it is essential to restart the process (or the entire NOC).