Сервер мониторинга
Содержание
Назначение
Осуществляет взаимодействие с поставщиками данных - аппаратными модулями (ОПС, сенсорами, устройствами) и программными модулями (Интегра Видео 7, СКУД и пр).
Предварительные действия
Для установки программного обеспечения IPE server необходимо:
- 1. Операционные системы Debian 8.8 x64 или выше, Debian 9.4 x64 или выше, Astra 1.5 x64;
- 2. Доступ к сети Интернет
- 3. Postgres 9.6.Х (необходим для компонентов "integraemberdb", "integraipedb" и "serenity")
- 4. PostGis 2.3.Х (необходим для компонентов "integraemberdb" и "integraipedb")
Перед началом установки необходимо добавить репозиторий в список доступных репозиториев:
После этого откроется файл sources.list
В зависимости от установленной системы добавляем соответствующую строку в /etc/apt/sources.list:
- 1. deb http://192.168.10.191/debian jessie main - если установлена Debian 8.X
- 2. deb http://192.168.10.191/debian stretch main - если установлена Debian 9.X / Astra 1.6
- 3. deb http://192.168.10.191/astra smolensk main - если установлена Astra 1.5
- 4. deb http://192.168.10.191/integra stable main - пакеты с ПО "Интегра-С"
Рекомендация: закомментировать сторонние репозитории во избежание ошибок!
Ниже приведен пример добавления репозитория при установленной системе Astra 1.6
Сохранение внесенных изменений производится комбинацией клавиш Ctrl+O, а выход из редактора - Ctrl+X
Выполнение обновления: apt-get update
Установка AcuarioManager
apt-get install acuariomanager
Результат выполнения команды:
Чтение списков пакетов… Готово Построение дерева зависимостей ... ... После данной операции, объём занятого дискового пространства возрастёт на 317 MB. Хотите продолжить? [Д/н] y ВНИМАНИЕ: Следующие пакеты невозможно аутентифицировать! mono acuariomanager Установить эти пакеты без проверки? [y/N] y ... ... Настраивается пакет acuariomanager (1.19.0-1) … Обрабатываются триггеры для libc-bin (2.19-18+deb8u10) …
Настройка AcuarioManager
Перейти в папку со скриптами:
cd /integra_daemons/acuariomanager
Создание и запуск AcuarioManager
Результат выполнения команды:
am name: am_name key server: 192.168.11.103 am path: /opt AuthIp: 127.0.0.1 Name: AuthPort: 8888 Add firefly connection[y/n]: y Ip: 127.0.0.1 Login: mss Password: mss000000 Port: 8090 Add firefly connection[y/n]: n Created symlink /etc/systemd/system/am_name.service → /lib/systemd/system/am_name.service. Created symlink /etc/systemd/system/multi-user.target.wants/am_name.service /lib/systemd/system/am_name.service
Служба am_name установлена
Настройка Acuario manager для опроса датчиков из разных баз
Для того чтобы Acuario manager мог опрашивать датчики из разных баз, в файле am.console.exe.config необходимо добавить подключения в блоке FireflyConnectionConfigSection:
<FireflyConnectionConfigSection> <param name="Firefly1" descr="Описание" ip="192.168.10.10" port="8090"/> <param name="Firefly2" descr="Описание" ip="192.168.10.11" port="8091"/> </FireflyConnectionConfigSection>
Параметр name должен хранить в себе разные значения, т.е. у каждого подключения свое значение name, ip и port – адрес firefly
Файл конфигурации для консольного приложения Acuario manager
Настройки Acuario manager хранятся с использованием файла конфигурации приложения (App.config). После сборки приложения для каждого запускаемого файла создается свой файл конфигурации, название которого повторяет имя запускаемого файла и имеет расширение .config. Ниже приведен пример файла конфигурации для консольного приложения acuario manager:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="OtherConfigSection" type="am.utilities.AppConfiguration.OtherConfigSection,am.utilities"/> <section name="RadarConfigSection" type="am.utilities.AppConfiguration.RadarConfigSection,am.utilities"/> <section name="LoggingConfigSection" type="am.utilities.AppConfiguration.LoggingConfigSection,am.utilities"/> <section name="AuthConfigSection" type="am.utilities.AppConfiguration.AuthConfigSection,am.utilities"/> <section name="AmConfigSection" type="am.utilities.AppConfiguration.AmConfigSection,am.utilities"/> <section name="FireflyConnectionConfigSection" type="am.utilities.AppConfiguration.FireflyConnectionConfigSection,am.utilities"/> </configSections> <FireflyConnectionConfigSection> <param name="ff1" descr="Какой-то ff" ip="localhost" port="8080"/> </FireflyConnectionConfigSection>
<AmConfigSection> <param name="OnlyLocal" descr="Подключаться только к локальному серверу. При подключении к нескольким FF всегда будет включено" value="true"/> <param name="Name" descr="Имя данного АМ" value="ADawd"/> <param name="FfInterval" descr="" value="200"/> </AmConfigSection>
<AuthConfigSection> <param name="AuthIp" descr="IP сервера авторизации" value="192.168.10.13"/> <param name="AuthPort" descr="Порт сервера авторизации" value="8888"/> <param name="Login" descr="Логин" value="firefly"/> <param name="Password" descr="Пароль" value="firefly"/> </AuthConfigSection>
<LoggingConfigSection> <param name="LogLevel" descr="Уровень логгирования. Допустимые значения - DEBUG, INFO, WARN, ERROR, FATAL" value="DEBUG"/> <param name="LogToConsole" descr="Писать логи в консоль" value="true"/> <param name="LogToFile" descr="Писать логи в файлы" value="true"/> <param name="LogFolder" descr="Папка для логов (без пробелов)" value="Log"/> <param name="LogSize" descr="Размер файла логов. Допустимые значения - B,KB,MB,GB" value="10 MB"/> <param name="LogFileCount" descr="Количество копий файла лога" value="3"/> <param name="LogFirefly" descr="Логгировать обмен данными с Firefly" value="false"/> </LoggingConfigSection>
<RadarConfigSection> <param name="TargetsCacheSize" descr="Размер кэша для неидентифицированных целей" value="200"/> <param name="CoordinateError" descr="Погрешность координат. 0,0001 - это 10-12 метров" value="0,0002"/> <param name="DeleteTargetsTimeoutS" descr="Таймаут удаления устаревших опознанных радарных целей в секундах. Если меньше 1 - цели удаляться не будут" value="-1"/> <param name="DeleteUnknownTargetsTimeoutS" descr="Таймаут удаления устаревших неопознанных радарных целей в секундах. Если меньше 1 - цели удаляться не будут" value="-1"/> <param name="RotateTargetsForVega" descr="Поворот координат целей относительно радара. Допустимые значения: 0, 90, 180, -90" value="0"/> <param name="TransasClientMode" descr="Работа модуля Транзаса в режиме клиента" value="true"/> <param name="SetLenghtOnlyOnce" descr="Проставлять длину опознанным целям только если она не проставлена" value="true"/> <param name="CombineUnknowns" descr="Объединять ли находящиеся рядом неизвестные цели или неизвестные с известными" value="true"/> <param name="CalcSpeedAndDir" descr="Рассчитывать ли автоматически скорость и направление если они не пришли от внешней системы" value="true"/> <param name="PriorityTimeoutS" descr="Время в сек, в течении которого приоритетная цель не будет перезаписываться. Если =0, то система приоритетов работать не будет" value="10"/> <param name="TargetThinningTimeS" descr="Если > 0, то радарные данные по каждой цели будут приходить не чаще чем раз в N секунд, прочее будет отбрасываться. Диапазон 0-10 c" value="0,9"/> <param name="TargetThinningAlg" descr="Алгоритм для прореживания целей. 1 - отбрасывать данные, если они пришли ранее чем через N секунд. 2 - раз в N секунд отправлять последние присланные с радара данные, если они были" value="1"/> </RadarConfigSection>
<OtherConfigSection> <param name="Servicename" descr="Имя службы" value="AcuarioManagerService"/> <param name="Autostart" descr="Автозапуск" value="false"/> <param name="LocalIp" descr="Локальный IP адрес. Используется, если не работает DNS" value="127.0.0.1"/> <param name="ThreadPoolMinThreads" descr="Минимальное число потоков пула потоков. Если -1 то оставить по умолчанию" value="-1"/> <param name="ThreadPoolMinThreadsIO" descr="Минимальное число асинхронных I/O потоков пула потоков. Если -1 то оставить по умолчанию" value="-1"/> <param name="SnmpCommunity" descr="Имя SNMP community" value="public"/> <param name="PtzPosCommand" descr="Наименование команды для запроса позиции PTZ самеры" value="ptzserver:Command"/> <param name="DoubleParseEx" descr="Расширенный парсинг double" value="true"/> <param name="Modules" descr="Список загружаемых dll через запятую" value=""/> <param name="SmartSubscribes" descr="Значения: auto, true, false. Если включено, то АМ подписывается только на связанные итемы. Если auto, то выключается само если в схеме есть радар" value="auto"/> <param name="StatusEvents" descr="Отправлять events при изменении статуса параметра" value="false"/> <param name="ShowLocalChangesInIncoming" descr="Обрабатывать ли локальные исходящие изменения" value="false"/> <param name="LeavePtzPozSameIfErrorFromIV" descr="Оставлять текущую позицию PTZ камеры той же если с IV пришла ошибка" value="true"/> <param name="FFPingIntervalS" descr="Интервал проверки связи с FF в секундах" value="5"/> <param name="FFDeleteChangesM" descr="Сколько ждать ответа от FF в минутах" value="5"/> <param name="IV7_mode" descr="Режим работы IV7. Варианты: 0 - комплексный(1+2), 1 - через сервис, 2 - прямыми запросами, 3 - через wget" value="0"/> <param name="FFMaxPulseTimeout" descr="Максимальное время между пульсами от фф" value="15000"/> </OtherConfigSection>
<startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <system.serviceModel> <bindings> <basicHttpBinding> <binding name="WSKseonImplPortBinding" /> <binding name="IOrionProbinding" maxReceivedMessageSize="10485760" /> </basicHttpBinding> </bindings> <client> <endpoint address="http://127.0.0.1:9000/WSKseon" binding="basicHttpBinding" bindingConfiguration="WSKseonImplPortBinding" contract="SensorMKseonService.WSKseonService" name="WSKseonImplPort" /> <endpoint address="http://127.0.0.1:8090/soap/IOrionPro" binding="basicHttpBinding" bindingConfiguration="IOrionProbinding" contract="BolidWebService.OrionPro.IOrionPro" name="IOrionProPort" /> </client> </system.serviceModel> </configuration>