...
Предоставляет список ТД в формате JSON, который содержит:
- grRegion - область/регион;
- vspNumber - номер ВСП;
- apID - MAC-адрес устройства;apName
- apRtcGroup - имя устройства;
- grCity - город;
- grRegion - область/регион;
- домен , в котором располагается устройство
- grTB - территориальный банк;
- vspAddressapGroup - графа из справочника с адресом расположение месторасположение ТД;
- vspNumber - номер vspAddress - адрес ВСП;
- apGroupapName - сформированное по справочнику месторасположение ТДимя устройства;
- apRtcGroup - домен , в котором располагается устройство (за исключением скрываемой части - domain_search.regex, см. Настройки сервиса)grCity - город;
Пример:
Блок кода |
---|
|
{
"data": [
{
"apGroupgrRegion": "Поволжский банк/Волгоградская область/Доп.офис №8621-0304"Самарская",
"apIDvspNumber": "a8-f9-4b-b5-a4-a0****-*****",
"grTBapID": "Поволжский банк"00-00-00-00-00-00",
"grCityapRtcGroup": "г.Волгоград, Краснооктябрьский районtoor.pA",
"vspNumbergrTB": "8621-00304банк",
"apRtcGroupapGroup": "Ugбанк/Volgogradskiy_filial/Volgogradskaya_obl/Volgograd/Sberbank/8621-0304_pr-kt_Metallurgov_15Самарская/Доп.офис №****-****",
"vspAddress": "400007"******, г.ВолгоградСамара, пр.МеталлурговСамарская, 15*",
"apName": "sberbank_ug_vgg_volgograd_8621-0304_a8:f9:4b:b5:a4:a0"****-****_Samarskaya_*_00:00:00:00:00:00",
"grRegiongrCity": "Волгоградская областьСамара"
},
]
} |
Возможные параметры запроса
...
Блок кода |
---|
|
curl -L http://localhost:9190/GetAPList |
- grTB - фильтр по полю grTB. При указании этого параметра в ответе от eltex-bob будут содержаться только те объекты, значение grTB которых совпадает с указанным. Если значение параметра пустое, фильтр будет игнорироваться.
пример запроса:
Блок кода |
---|
curl -L http://localhost:9190/GetAPList?grTB='Сибирский банк' |
GetAPDetail
Детализация информации по ТД , которая содержит :
...
...
...
- full-address" - полный адрес ТД.
- "vsp" - номер ВСП;
- "city" - город расположения ТД;
- "serial-number" - серийный номер устройства;
- "
...
...
...
- grTB - территориальный банк;
- "office" - название офиса , где расположена ТД;
Запрос:
Блок кода |
---|
|
curl -L http://localhost:9190/GetAPDetail/00:-00:-00:-00:-00:-00 |
Ответ:
Блок кода |
---|
|
{
"ipfirmware-version": "1921.1680.60.180",
"office "full-address": "Доп.офис №178-758Волгоград, Металлургов, *",
"city "vsp": "г.Березовский"****-*****",
"firmware-version "city": "1.16.0.163"Волгоград",
"serial-number": "WP01000177",
"vsp "ip": "4157-081"
"full-address": "678100, г.Олекминск, ул.Молодежная, 20741"127.0.0.1",
"grTB":"банк",
"office":"Доп.офис №****-****"
} |
GetAPAvailable
Доступность ТД, которая содержит:
- "available" - доступность ТД, где 0 - ТД доступна, 1 - ТД недоступна;
- "uptime" - время доступности ТД, в секундах.
Запрос:
Блок кода |
---|
|
curl -L http://localhost:9190/GetAPAvailable/00:-00:-00:-00:-00:-00 |
Ответ:
Блок кода |
---|
|
{
"available": 0,
"uptime": 67370
} |
...
Метрики ТД, которые содержат:
- "wifi_users" - количество подключенных пользователей
...
Запрос:
Блок кода |
---|
|
curl -L http://localhost:9190/GetAPPerformance/00:-00:-00:-00:-00:-00 |
Ответ:
Блок кода |
---|
|
{
"wifi_users": "5"
"mac":"00-00-00-00-00-00"
} |
Настройки
...
Для авторизации в сервисе доступно 2 способа:
...
Блок кода |
---|
|
server {
listen 80;
server_name bob;
location /api/ {
proxy_pass http://localhost:9190/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect default;
}
} |
Настройка профиля юридических лиц
1. В EMS → "Администрирование" → "Права и пользователи" - > "Профили юридических лиц" необходимо добавить профиль, нажав на "+":
Image Added
На вкладке "Описание профиля" заполнить поля "Имя профиля" и "Описание".
На вкладке "Параметры" нужно добавить новый объект и заполнить необходимые поля:
Image Added
2. В EMS → "Администрирование" → "Права и пользователи" - > "Домены" нужно выбрать необходимый домен, нажать кнопку редактирования и добавить созданный профиль:
Image Added
/etc/eltex-bob/application.properties
...
Блок кода |
---|
language | yml |
---|
theme | RDark |
---|
title | application.properties |
---|
collapse | true |
---|
|
# The Datasource Mysql properties
spring.application.name=bob
h2.console.enabled=true
h2.console.port=9111
spring.datasource.url=jdbcr2dbc:mysql://10.62.18.35localhost: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=1020
# 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=:service.profile.id=2
service.profile.fields=testprofile
spring.mvc.favicon.enabled=false
mac.splitter=-
auth.enabled=false
auth.username=user
auth.password=password
excel.config.file=/etc/eltex-bob/excel_config.yaml
server.port=9190 |
- Средство для диагности проблем в сервисном центре
...
Без форматирования |
---|
spring.datasource.url=jdbcr2dbc: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=10 |
- Домен, в по которому будет производиться выгрузка. Включает в себя дочерние домены.Данные профиля юридических лиц.
Без форматирования |
---|
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,})[^/]*$service.profile.id=2
service.profile.fields=testprofile
|
- Разделители октетов в мак-адресе (в apID и в запросах GetAPDetail, GetAPAvailable, GetAPPerformance, по умолчанию ":-"):
Без форматирования |
---|
mac.splitter=:- |
- Включение авторизации по логин-паролю, false - выключено:
...
Без форматирования |
---|
server.port=9190 |
Следует отменить, что приведенный конфигурационный файл предназначен для доменов вида Ap.root. Если используется только root, то регулярные выражения нужно изменить следующим образом:
Блок кода |
---|
|
# Common properties
domain_search.mask=.*root
domain_search.regex=^(.*)$
domain_search.replacement=$1 |
/etc/
...
Конфигурационный файл для работы со справочником:
Блок кода |
---|
language | yml |
---|
theme | RDark |
---|
title | excel_config.yaml |
---|
collapse | true |
---|
|
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
Файл инициализации сервиса.
Блок кода |
---|
language | bash |
---|
theme | RDark |
---|
title | eltex-bob |
---|
collapse | true |
---|
|
# 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
...
Блок кода |
---|
language | yml |
---|
title | docker-compose.yml |
---|
|
version: "3"
services:
bob:
image: hub.eltex-co.ru/softwlc/eltex-bob:1.2019-<tag>
network_mode: host
ports:
- 9190:9190
- 9111:9111
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}
- domain_search.maskservice.profile.id=${BOB_DOMAINCLIENT_SEARCH_MASKPROFILE}
- domain_search.regexservice.profile.fields=${BOB_DOMAINCLIENT_SEARCHPROFILE_REGEXFIELDS}
- vsp_search.regexfields=${BOB_VSPCLIENT_SEARCHPROFILE_REGEXFIELDS}
|
Подсказка |
---|
Вместо <tag> необходимо указать актуальную версию, которую можно посмотреть по ссылке. |
...
Блок кода |
---|
|
# common bob params
BOB_DB_URL=jdbcr2dbc:mysql://<IP-address>100.110.1.228:3306/eltex_ems?useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
BOB_DB_USERNAME=javauser
BOB_DB_PASSWORD=javapassword
BOB_DB_HIKARI_MAXIMUM_POOL_SIZE=20CLIENT_PROFILE=2
BOB_DOMAINCLIENT_SEARCHPROFILE_MASK=[a-zA-Z0-9\\._-]*\\.Ap\\.root
BOB_DOMAIN_SEARCH_REGEX=^root/Ap/(.*)$
BOB_VSP_SEARCH_REGEX=/(\\d{2,}[-_]\\d{2,})[^/]*$FIELDS=testprofile |
Файлы .env и docker-compose.yml должны находиться в одной папке. Контейнер запускается командой:
...
- BOB_DB_URL - URL для подключекния к БД MySQL;
- BOB_DB_USERNAME - Логин подключения к БД;
- BOB_DB_PASSWORD - Пароль подключения к БД;
Параметры фильтрации
- BOB_DOMAINCLIENT_SEARCH_MASK - фильтр (регулярное выражение), по которому выбираются домены из БДPROFILE - id профиля юридических лиц;
- BOB_DOMAINCLIENT_SEARCHPROFILE_REGEX - фильтр вырезает часть домена для того, чтобы отобразить эту часть в json, например, root.Ap.Sibir, превратить в Ap.Sibir или в Sibir;
- BOB_VSP_SEARCH_REGEX - по этому фильтру выбирается номер ВСП из полного представления домена, например, root.Ap.Sibir.Novosibisrk.Lenina.0000_0000-kakoetovsp.
- FIELDS - имя профиля юридических лиц.