Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  • http://<<ip_address>>:<<port>>/GetAPList Список ТД в формате JSON
  • http://<<ip_address>>:<<port>>/GetAPDetail/{MAC_ADDRESS} - Детализация информации по ТД
  • http://<<ip_address>>:<<port>>/GetAPAvailable/{MAC_ADDRESS} - Доступность ТД
  • http://<<ip_address>>:<<port>>/GetAPPerformance/{MAC_ADDRESS} - Метрики по ТД

Управление сервисом

Настройка Профиля юридических лиц в EMS

  • В GUI EMS перейдите в таблицу Администрирование→Права и Пользователи→Профили юридических лиц и создайте новый профиль:

Image Removed

  • В новом профиле укажите описание профиля клиента:

Image Removed

  • Укажите параметры профиля клиента (для примера, ClientName) аналогично скриншоту.

Image Removed

  • Перейдите в таблицу в таблицу Администрирование→Права и Пользователи→Домены и привяжите данный профиль к нужному вам домену, заполнив параметр ClientName, который будет отдаваться сервисом eltex-bob по запросу ТД в данном домене:

Image Removed

...

GetAPList

Предоставляет список ТД в формате JSON, который содержит:

  • apID - MAC-адрес устройства;
  • apName - имя устройства;
  • grCity - город;
  • grRegion - область/регион;
  • grTB - территориальный банк;
  • vspAddress - адрес расположения графа из справочника с адресом расположение ТД;
  • vspNumber - номер ВСП;
  • apGroup - сформированное по справочнику месторасположение ТД;
  • apRtcGroup - домен , в котором располагается устройство ;
  • Остальные параметры задаются в настройках профиля юридических лиц в EMS.
  • (за исключением скрываемой части - domain_search.regex, см. Настройки сервиса);

Пример:

Блок кода
languagejs
themeRDark
{
    "data": [
        {
            "ClientName": "Тестовый офис" #Параметр клиента, настроенный в профиле юридических лиц для данного клиента 
			"apGroup": "Какой-тоПоволжский банк/Такая-тоВолгоградская область/Доп.офис №XXXX№8621-XXXXX0304",
            "apID": "a8-f9-4b-b5-a4-a0",
            "grTB": "Поволжский банк",
            "grCity": "г.Волгоград, Какой-тоКраснооктябрьский район",
            "vspNumber": "8621-00304",
            "apRtcGroup": "Ug/Volgogradskiy_filial/Volgogradskaya_obl/Volgograd/Test_bankSberbank/XXXX8621-XXXX0304_pr-XXXXXXXkt_1XMetallurgov_15",
            "vspAddress": "4XXXX7400007, г.XXXXXВолгоград, пр.XXXXXXМеталлургов, 1X15",
            "apName": "testsberbank_apug_namevgg_XXXXvolgograd_8621-XXXX0304_a8:f9:4b:b5:XXa4:XXa0",
            "grRegion": "Такая-тоВолгоградская область"
        },
	]
}

Возможные параметры запроса

...

Блок кода
curl -L http://localhost:9190/GetAPList?grTB='Какой-тоСибирский банк'


GetAPDetail

Детализация информации по ТД , которая содержит :

"ip" - IP-адрес устройства;
"office" - название офиса  для найденного ВСП из справочника;
"city" - город  для найденного ВСП из справочника;
"firmware-version" - версия ПО;
"serial-number" - серийный номер устройства;
"vsp" - номер ВСП;
"full-address" - полный адрес  для найденного ВСП из справочника.

Остальные параметры задаются в настройках профиля юридических лиц в EMS.


Запрос:

Блок кода
languagebash
themeRDark
curl -L http://localhost:9190/GetAPDetail/00:00:00:00:00:00

...

Блок кода
languagejs
themeRDark
{
    "ip": "192.168.6.18",
 	"office": "Доп.офис №178-758",
	"city": "г.Березовский",
	"firmware-version": "1.16.0.163",
    "serial-number": "WP010001XXWP01000177",
	"vsp": "4157-081"
	"full-address": "67XXXX678100, г.Олекминск, ул.XXXXXXМолодежная, XXXXX20741",
	"ClientName": "Тестовый офис" #Параметр клиента, настроенный в профиле юридических лиц для данного клиента 
}


GetAPAvailable

Доступность ТД, которая содержит:

...

Блок кода
languageyml
themeRDark
titleapplication.properties
collapsetrue
# The Datasource Mysql properties
spring.application.name=bob
h2.console.enabled=true
h2.console.port=9111

spring.datasource.url=r2dbcjdbc:mysql://localhost10.62.18.35:3306/eltex_ems?useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=javauser
spring.datasource.password=javapassword
spring.datasource.hikari.maximum-pool-size=2010

service.profile.id=3
service.profile.fields=ClientName

spring.mvc.favicon.enabled=false

# Common properties
#domain_search.mask=[a-zA-Z0-9.-_]*.ap.root
domain_search.mask=[a-zA-Z0-9.-_]*.ap.root

domain_search.regex=^root/Ap/(.*)$
domain_search.replacement=$1

vsp_search.regex=/(\\d{2,}[-_]\\d{2,})[^/]*$

mac.splitter=:

auth.enabled=false
auth.username=user
auth.password=password

excel.config.file=/etc/eltex-bob/excel_config.yaml

server.port=9190

  • Средство для диагности проблем в сервисном центре
Без форматирования
h2.console.enabled=true
h2.console.port=9111
  • Подключение к БД:
Без форматирования
spring.datasource.url=r2dbcjdbc:mysql://localhost:3306/eltex_ems?useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=javauser
spring.datasource.password=javapassword

...

Без форматирования
spring.datasource.hikari.maximum-pool-size=2010
  • Домен, в по которому будет производиться выгрузка. Включает в себя дочерние домены.
Без форматирования
domain_search.mask=[a-zA-Z0-9]*\.ap\.root
  • Часть домена/ВСП, которая будет скрыта при выводе результата:
Без форматирования
domain_search.regex=^root/Ap/(.*)$
domain_search.replacement=$1

vsp_search.regex=/(\\d{2,}[-_]\\d{2,})[^/]*$
  • Разделители октетов в мак-адресе (по умолчанию ":"):
Без форматирования
mac.splitter=:
  • Раздел, в котором указываются ID профиля юридических лиц из EMS и параметры настроенные в профиле:
Без форматирования
service.profile.id=3
service.profile.fields=ClientName
  • Включение авторизации по логин-паролю, false - выключено:

...

Без форматирования
auth.username=user
auth.password=password
  • Конфигурационный файл для работы со справочником ВСП:
Без форматирования
excel.config.file=/etc/eltex-bob/excel_config.yaml
  • Порт, который слушает сервис
Без форматирования
server.port=9190


Следует отменить, что приведенный конфигурационный файл предназначен для доменов вида Ap.root. Если используется только root, то регулярные выражения нужно изменить следующим образом:

Блок кода
themeMidnight
# Common properties
domain_search.mask=.*root

domain_search.regex=^(.*)$
domain_search.replacement=$1


/etc/eltex-bob/excel_config.yaml

Конфигурационный файл для работы со справочником:

Блок кода
languageyml
themeRDark
titleexcel_config.yaml
collapsetrue
vspSheetName: В конкурс
vspExcelFile: /etc/eltex-bob/vsp.xlsx
type: TITLE
columns:
  vsp: Номер ВСП
  bank: Территориальный банк
  region: Субъект РФ
  office: Наименование подразделения
  address: Фактитческий адрес Объекта
  city: Населенный пункт

## Пример конфигурации по номерам колонок
#vspSheetName: В конкурс
#type: NUMBER
#columns:
#  vsp: 3
#  bank: 1
#  region: 10
#  office: 2
#  address: 7
  • Имя страницы для анализа и путь к справочнику:
Без форматирования
vspSheetName: В конкурс 
vspExcelFile: /home/vagrant/list2.xlsx
  • Режим работы с таблицей. TITLE - поиск колонок будет происходить по их заголовкам, NUMBER - поиск колонок будет происходить по их порядковому номеру.
Без форматирования
type: TITLE
  • Работа с таблицей:
Без форматирования
columns:
  vsp: Номер ВСП - в этой колонке происходит поиск ячейки с номером ВСП совпадающим со значением ВСП из домена, например в домене .../Sberbank/4157-081_Kuznechnaya_11a..., это "4157-081"   
  bank: Территориальный банк          \
  region: Субъект РФ                   - ячейки этих столбцов будут использованы для составления APGROUP
  office: Наименование подразделения  /
  address: Фактитческий адрес Объекта  -  значение этого поля из этой колонки попадает в FULLADDRESS в выводе GetAPList


/etc/default/eltex-bob

Файл инициализации сервиса.

Блок кода
languagebash
themeRDark
titleeltex-bob
collapsetrue
# AP Monitoring service

# Initial size of Java heap
JAVA_INIT_HEAP=128m
# Maximum size of Java heap
JAVA_MAX_HEAP=256m

# Additional arguments to pass to java
JAVA_OPTS="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/eltex-bob"


ПараметрыОписание
JAVA_INIT_HEAP
Количество памяти, выделяемое на работу сервиса при старте. Рекомендуется выставлять равное JAVA_MAX_HEAP.
JAVA_MAX_HEAP
Максимальное количество памяти, которое может зарезервировать сервис
JAVA_OPTS
Дополнительные опции для запуска jvm


/etc/eltex-bob/log4j2.xml

...

Блок кода
languageyml
titledocker-compose.yml
version: "3"

services:
  bob:
    image: hub.eltex-co.ru/softwlc/eltex-bob:1.1920-<tag>
    network_mode: host
    ports:
      - 9190:9190
    volumes:
      - "/etc/eltex-bob/excel_config.yaml:/etc/eltex-bob/excel_config.yaml"
      - "/etc/eltex-bob/log4j2.xml:/etc/eltex-bob/log4j2-docker.xml"
      - "/etc/eltex-bob/application.properties:/etc/eltex-bob/application.properties"
      - "/var/log/eltex-bob:/var/log/eltex-bob"
    environment:
      - spring.datasource.url=${BOB_DB_URL}
      - spring.datasource.username=${BOB_DB_USERNAME}
      - spring.datasource.password=${BOB_DB_PASSWORD}
      - service.profile.iddomain_search.mask=${BOB_DOMAIN_SEARCH_MASK}
      - domain_search.regex=${BOB_CLIENTDOMAIN_PROFILESEARCH_REGEX}
       - service.profile.fieldsvsp_search.regex=${BOB_CLIENTVSP_PROFILESEARCH_FIELDSREGEX}
      - h2.console.enabled=true
      - h2.console.port=9111


Подсказка
Вместо <tag> необходимо указать актуальную версию, которую можно посмотреть по ссылке.

...

Блок кода
languageyml
title.env
# common bob params
BOB_DB_URL=r2dbcjdbc:mysql://<IP-address>:3306/eltex_ems?useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
#Адрес БД MySQL
BOB_DB_USERNAME=javauser
BOB_DB_PASSWORD=javapassword
BOB_CLIENT_PROFILE=4 #ID профиля юридических лиц в EMS
BOB_CLIENT_PROFILE_FIELDS=ClientName #Параметр клиента, настроенный в профиле юридических лиц для данного клиента

DB_HIKARI_MAXIMUM_POOL_SIZE=20
BOB_DOMAIN_SEARCH_MASK=[a-zA-Z0-9\\._-]*\\.Ap\\.root
BOB_DOMAIN_SEARCH_REGEX=^root/Ap/(.*)$
BOB_VSP_SEARCH_REGEX=/(\\d{2,}[-_]\\d{2,})[^/]*$


Файлы .env и docker-compose.yml должны находиться в одной папке. Контейнер запускается командой:

...

  • BOB_DB_URL - URL для подключекния к БД MySQL;
  • BOB_DB_USERNAME - Логин подключения к БД;
  • BOB_DB_PASSWORD - Пароль подключения к БД;

Параметры фильтрации

  • BOB_CLIENTDOMAIN_PROFILE - ID профиля юридических лиц в EMSSEARCH_MASK - фильтр (регулярное выражение), по которому выбираются домены из БД;
  • BOB_CLIENTDOMAIN_PROFILESEARCH_FIELDS - параметр клиента, настроенный в профиле юридических лиц для данного клиента.REGEX - фильтр вырезает часть домена для того, чтобы отобразить эту часть в json, например, root.Ap.Sibir, превратить в Ap.Sibir или в Sibir;
  • BOB_VSP_SEARCH_REGEX - по этому фильтру выбирается номер ВСП из полного представления домена, например, root.Ap.Sibir.Novosibisrk.Lenina.0000_0000-kakoetovsp.