Перейти к содержанию

Custom (Расширение)

NOC предоставляет широкие возможности по расширению функционала системы путём добавления собственного кода. Это позволяет менять поведение системы в широких пределах и компенсировать недостаточный функционал.

Список поддерживаемых расширений

Поддерживаются следующие расширения для системы

  • bi - Модели для BI
  • cmibs - Файлы cmibs
  • commands - инструментарий команд
  • collections -
  • geocoder - GIS геокодеры для внешних систем
  • etl - Адаптеры синхронизации данных с внешней системы ETL
    • extractors - ETL адаптеры для внешних систем
    • loader - собственные загрузчики
    • portmapper - адаптеры привязки интерфейсов с внешними системами
  • handlers - директория с обработчиками Handlers
  • sa - взаимодействие с устройствами
  • services - расширения сервисов системы
    • card - пользовательские карточки Card
    • web - пользовательские веб приложения Web
    • nbi - NBI API endpoint NBI
  • templates - Jinja шаблоны для различных частей системы
    • ddash - шаблоны для графиков метрик PM
  • tt - адаптеры для систем эскалации аварии (TroubleTicket)

Структура custom

Расширения хранятся отдельно от основного кода и динамически подгружаются системой при старте. Основное требование - расширение должно занимать определённое место в структуре файловой системы. Корневая директория для расширения задаётся черезе настройку custom_path в разделе path глобальной конфигурации Custom Path. Настройка производится при установке системы в башне Tower, по умолчанию размещается в /opt/noc_custom, cтруктура выглядит следующим образом:

.
├── 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

Для подхватывания изменений в кастоме обязателен перезапуск процесса (или всего НОКа)