Карта оборудования и пользователей

В Ubilling начиная с релиза 0.3.4 появилась возможность размещать на карте существующие свитчи, точки доступа и прочее активное сетевое оборудование зарегистрированное в соответствующем справочнике. Сам модуль карт имеет минимальные настройки и управляется при помощи конфига ymaps.ini. Для включения-выключения данного модуля существует опция SWYMAP_ENABLED конфига alter.ini

ymaps.ini
; Координаты центра карты в формате "широта, долгота". В случае пустого CENTER будет использован гео-таргетинг.
CENTER=""
; Язык интерфейса карты - может быть, например ru-RU или uk-UA
LANG="ru-RU"
; Масштаб карты по-умолчанию
ZOOM=14
; Тип карты по-умолчанию, может быть, map, satellite, hybrid
TYPE="map"
; Показывать ли метку на мертвом оборудовании?
DEAD_LABEL=1
; Показывать ли метку на живом оборудовании?
ALIVE_LABEL=0
; Использовать ли рендер плейсмарков на canvas (очень быстро, но желательно отключать подписи на метках)
CANVAS_RENDER=1
; Масштаб при котором будет отображатся карта после клика по "найти устройство на карте"
FINDING_ZOOM=16
; Подсвечивать область при поиске оборудования 
FINDING_CIRCLE=1
; Отключать отображение меток сквозь canvas если на них присутствуют подписи (медленно)
CANVAS_RENDER_IGNORE_LABELED=1
; Сервис карт по-умолчанию. На данный момент поддерживаются yandex, google и leaflet.
MAPS_SERVICE="yandex"
; Ключ JS API карт Google. 
; Вот где его можно получить: https://developers.google.com/maps/documentation/javascript/get-api-key?hl=ru
GMAPS_APIKEY="YOUR_API_KEY_HERE"
 
;Кастомный провайдер карт Leaflet.
; Примеры:
; Mapbox: https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw
; OSM: https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
; Visicom: https://tms{s}.visicom.ua/2.0.0/planet3/base/{z}/{x}/{y}.png?key=YOUR_API_KEY
; Google roadmaps: http://{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}
; Google hybryd: http://{s}.google.com/vt/lyrs=s,h&x={x}&y={y}&z={z}
; Google satellite: http://{s}.google.com/vt/lyrs=s&x={x}&y={y}&z={z}
; Google terrain: http://{s}.google.com/vt/lyrs=p&x={x}&y={y}&z={z}
LEAFLET_TILE_LAYER=""

Логика отображения меток на карте завязана на поле «Гео координаты» для каждой единицы активного сетевого оборудования. Удобной расстановки объектов на карте, существует удобный редактор, вызываемый по левому клику мыши в режиме «редактирование». Выглядит это следующим образом:

Координаты в формате «широта, долгота» следует вносить в поле «Гео координаты» при добавлении либо редактированни оборудования:

Вот как это все должно выглядеть в финале:

Соответственно активное и не отвечающее оборудование отображается по разному, с соответствующими уведомлениями исходя из данных полученных из кеша опроса свитчей обновляемого по таймауту SW_PINGTIMEOUT при помощи вызова swping из Remote API. Для периодического опроса свитчей можно добавить следующий вызов API удаленного вызова процедур в crontab, скажем как-то так:

*/20 * * * *    /bin/ubapi "swping"

«Машина времени» мертвого оборудования также заполняется только при обновлениях состояния его используя вышеуказанный вызов Remote API.

Дома

Также начиная с релиза Ubilling 0.4.6 данный модуль умеет расставлять и показывать на карте дома в которых проживают ваши пользователи, а также производить индикацию активности пользователей в этих домах. Выглядит это следующим образом:

Опрос пользователей на живость происходит при помощи nmap а также анализируя изменения их исходящего трафика на коллекторе. Делается это при помощи соответствующего вызова API удаленного вызова процедур

5 * * * *       /bin/ubapi "fullhostscan&param=traffdiff"

Важно

content/dn должен существовать, быть пустой, никуда не симлинкнутой директорией и иметь права 777. Также очевидно требуется включенная опция DN_FULLHOSTSCAN.

switchmap.txt · Последние изменения: 2019/07/09 18:13 — nightfly
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki