Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

Версия 1 Следующий »

Описание сервиса

Eltex-Bob - высоконагруженный RESTful API сервис,   предназначенный для выгрузки  информации о  ТД в формате JSON  в систему мониторинга. По умолчанию к сервису можно обратиться по порту 9190, выполнив GET запрос.
Для получения информации о количестве и состоянии устройств, требуется доступ до БД MYSQL.
Для защиты от DDoS, сервис имеет собственный кеш, который позволяет не нагружать БД, список ТД сервис запрашивает раз в 1 час. Информация о доступности устройств, обновляется раз в минуту.

Доступные методы API:

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

APHOSTNAME - mac адрес устройства
APVISIBLENAME - название устройства
APGROUP - домен , в котором располагается устройство

Пример :

{
    "data": [
        {
            "{#APHOSTNAME}": "a8:f9:4b:b4:99:60",
            "{#APVISIBLENAME}": "WEP-12ac",
            "{#APGROUP}": "root/WIFI/AP_GRE"
        },
	]
}


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

"ip" - ip адрес устройства
"firmware-version" версия ПО
"serial-number" серийный номер устройства

Пример:

{
    "ip": "192.168.6.18",
    "firmware-version": "1.16.0.163",
    "serial-number": "WP01000177"
}

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

"available" доступность ТД, где 0 - ТД доступна, 1 - ТД недоступна
"uptime" - время доступности ТД, в секундах

Пример:

{
    "available": 0,
    "uptime": 67370
}

GetAPPerformance Метрики ТД,  которые содержат:

"wifi_users" - количество подключенных  пользователей

Пример:

{
    "wifi_users": "5"
}

Для авторизации в сервисе доступно 2 способа:

  • http-basic авторизация , включается в настройках сервиса
  • ACL список в настройках конфигурации nginx, включается в конфигурационном файле nginx

Настройки

 Для ограничения доступа к сервису по ip адресу, можно выполнить настройку nginx сервера с помощью ACL.  Access Control List  добавляется в  конфигурационный файл nginx, пример :

где deny - ip address с которого запрещен доступ
allow - ip address с которого разрешен доступ

в примере,  доступ с IP адреса 192.168.1.3 и 127.0.0.1 разрешен, остальным запрещен.

location /api {
    allow 192.168.1.3/24;
    allow 127.0.0.1;
    deny  all;
}

Также, если используется nginx для доступа к сервису bob, то следует настроить проксирование

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;

    }
}


Настройки сервиса:

Основной конфигурационный файл находится по адресу  /etc/eltex-bob/application.properties:

# The Datasource Mysql properties
spring.application.name=bob

# Common properties
#domain_search.mask=% 
domain_search.mask=%.ap.root - домен, в по которому будет производиться выгрузка. Включает в себя дочерние домены

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

auth.enabled=true Включение авторизации по логин-паролю, false - выключено
auth.username=eltex логин, для авторизации на сервисе bob
auth.password=eltexeltex - пароль для авторизации сервисе bob

server.port=9190 порт, который слушает сервис

По умолчанию, сервис использует 10 коннектов до БД, при необходимости можно увеличить, добавив в конфигурационный файл spring.datasource.hikari.maximum-pool-size=20, где 20 число коннектов.

Файл инициализации сервиса располагается по адресу: /etc/default/eltex-bob .


  • Нет меток