Мониторинг
Общие принципы и термины
Перейдите Меню настройки -> Мониторинг
В разделе мониторинг производится настройка серверной части системы, отвечающую за сбор данных и не имеющую отношения к производству, производственным терминам и интерпретации данных.
DPA - это производственная аналитическая платформа, выполняющая мониторинг станков с ЧПУ в режиме реального времени.
Сервер DPA – компонент, отвечающий за взаимодействие со станками: получение и отправку данных.
DPA HOST – компонент, отвечающий за сбор и протоколирование данных от DPA, а также за работу пользовательского интерфейса.
Драйвер DPA – совокупность настроек чтения и логирования данных, используемых для подключения единицы оборудования конкретного типа.
Один экземпляр системы - один HOST. К одному HOSTу может быть подключен один и более серверов DPA, к каждому серверу может быть подключено один и более драйверов. Каждый сервер DPA является объектом лицензирования.
Все объекты мониторинга, организованы в древовидную структуру, корнем которой является HOST.
HOST
Журналы
В случае возникновения неполадок или сомнений в корректности работы системы, направьте описание проблемы и лог-файл в X-tensive. Чтобы получить файл, в древовидной структуре мониторинга выберите Host и в правой части экрана нажмите кнопку "Загрузить" в строке "Журналы".
Сервер
Файл конфигурации
Поскольку DPA сервер не предназначен для чтения и записи данных в базу, перечень подключенных драйверов и их адреса, а так же адрес HOST, на который осуществляется отправка данных, хранится в файле конфигурации "%\ProgramData\X-tensive\DPA\Config\DpaServer.config"
В случае, если по какой-то причине вы не можете изменить настройку сервера, через графический интерфейс HOST, например изменился сетевой адрес HOST ( и сервер не может отправлять данные ИЛИ вы выполняете перенос сервера на выделенную машину, вы можете внести правки напрямую в файл конфигурации.
Корректировка файла конфигурации в случае смены адреса HOST
Для того чтобы обеспечить корректную передачу данных с сервера на HOST, необходимо:
- Перейти/подключиться к серверу на котором развернут новый экземпляр DPA сервера
- Через диспетчер задач остановить службу "DPA Server"
- Открыть файл "C:\ProgramData\X-tensive\DPA\Config\DpaServer.config", в четвертой снизу строке прописать ip-адрес HOST, сохранить файл
- запустить службу "DPA Server"
Добавление сервера
После установки системы, в древовидной структуре объектов мониторинга, вы можете видеть один HOST и один сервер. В случае, если вы выбрали распределенную установку или вам необходимо добавить еще один сервер. Процесс установки состоит из нескольких шагов:
- Установить дополнительный DPA сервер на отдельную машину
- Подключить дополнительный сервер к HOST
- Скорректировать файл конфигурации дополнительного DPA сервера
- Установить лицензию на дополнительный DPA сервер
- Начать получать данные
Установку можно провести двумя способами, с помощью основного установщика или скачав установочный файл в разделе установочные файлы. Если вы выбрали вариант установки с помощью основного установщика, воспользуйтесь инструкцией по установке (ссылка), на шаге выбор компонентов необходимо выбрать только сервер.
Если вы выбрали вариант установки с помощью установочного файла перейдите Меню настройки -> Установочные файлы и скачайте файл "DPA Server" и запустите его на выбранном для установки сервере.
Перейдите Меню настройки -> Мониторинг и нажмите Добавить -> Сервер (через контекстное или основное меню модуля)
Укажите имя нового сервера, его ip-адрес и порт (обратите внимание, что если на предприятии сложная сетевая структура, необходимо обеспечить проброс портов), нажмите "Далее"
Если на сервере, который вы пытаетесь добавить уже настроен транспорт, выберите "Пропустить настройку сервера",
иначе выберите актуальный для вас транспорт, мы рекомендуем WCF, нажмите "Далее".
Для начала получения данных не забудьте установить лицензию на вновь установленный сервер.
Счетчики производительности
Журналы
В случае возникновения неполадок или сомнений в корректности работы системы, направьте описание проблемы и лог-файл в X-tensive. Чтобы получить файл, в древовидной структуре мониторинга выберите сервер и в правой части экрана на вкладке "Журналы" выберите журнал и нажмите кнопку "Скачать логи".
Сервер DPA поддерживает несколько режимов логирования:
- Off - логирование отключено
- Fatal – Критически ошибки, приводящие к отказу DPA-сервера
- Error – Логирование всех ошибок: ошибок драйверов, вычисления состояний, неудачная отправка событий
- Warn – Логирует нештатные ситуации, которые можно обработать
- Info – логирует запуск сервисов, внешние запросы, сообщения драйверов и всех более высоких уровней (Warn, Error, Fatal)
- Debug – Журналирование в режиме отладки: статистика трафика, подробности работы функций (не рекомендуется для штатного использования)
- All - Полное журналирование сообщений всех уровней (не рекомендуется для штатного использования)
По умолчанию выставлен режим «Info» (данный журнал нельзя удалить). Чтобы добавить новый журнал, укажите имя нового журнала и уровень логирования, нажмите кнопку "Добавить".
Совместимость
Диагностика
Транспорт
Транспорт DPA отвечает за пересылку данных по событиям драйверов от DPA сервера в DPA хост.
Так как частота опроса оборудования может составлять 100-500 миллисекунд, количество снапшотов на один драйвер может составлять 10-20 штук, и на один DPA сервер может приходиться до 100 драйверов, то суммарная частота и объем пересылаемых данных между DPA сервером и DPA хостом может быть существенной. Поэтому Транспорт DPA использует механизмы оптимизации трафика.
Минимальной единицей обмена является Событие, которое содержит данные одного Снапшота или одного Состояния драйвера.
Как правило, новое Событие формируется при каждой операции чтения Снапшота, то есть при получении данных от оборудования, либо при каждой операции вычисления Состояния, если Событие отвечает за отправку данных по Состоянию.
Перед отправкой, Событие попадает во внутреннюю FIFO очередь Транспорта. Из очереди событие будет отправлено получателю - DPA хосту.
По различным источникам данных частота обновления может быть совершенно разной. Например, Событие, отвечающее за данные Нагрузки на шпиндель, будет получать новые значения текущей нагрузки при каждом чтении с оборудования. То есть частота изменения этих данных может быть очень высокой.
С другой стороны, События, отвечающие, например, за данные по Режиму работы или Корректору скорости подачи, будут получать обновленные данные не так часто.
В целях оптимизации, Событие помещается во внутреннюю FIFO очередь Транспорта только тогда, когда по нему приходит значение, отличное от предыдущего. Это позволяет существенно сократить объем пересылаемых данных, и избежать отправку повторных значений.
Отдельная пересылка индивидуального События так же была бы крайне не эффективной. Объем "полезных" данных по Событию был бы меньше или сравним с накладными расходами самого протокола. Поэтому для отправки События объединяются в Пакеты ("Package"). На количество Событий, которые попадут в один Пакет отправки влияет настройка Период отдыха.
=> => DPAhost \ DPAserver \ Транспорт \ WCF
По умолчанию, Период отдыха составляет 1 секунду, то есть между отправками Пакетов должно пройти не менее 1 секунды. Именно в течение этого времени внутренняя FIFO очередь Транспорта будет наполняться Событиями, прежде чем будет сформирован и отправлен очередной Пакет.
Отследить работу Транспорта можно по счетчикам производительности:
=> => DPAhost \ DPAserver \ Транспорт \ WCF => Счетчики производительности
Выбрать счетчики Package Size, Sent packages total per second.
В данном примере Пакет в среднем содержит от 50 до 150 Событий. Отправка одного Пакета происходит каждую секунду.
Инициатором отправки данных по Транспорту DPA всегда выступает DPA сервер. DPA хост выступает в роли пассивного получателя Пакетов.
Протоколы
WCF
WCF протокол Транспорта DPA - это бинарный протокол, использующий стек TCP/IP. В настройках WCF протокола два ключевых параметра - IP-адрес и порт подключения. DPA сервер использует эти параметры, чтобы установить соединение к получателю Событий, которым, как правило, выступает DPA хост.
В качестве IP-адреса получателя можно указать localhost (если DPA хост и DPA сервер установлены на одну машину), а так же сетевое имя. По умолчанию используется TCP-порт 45618.
WCF протокол используется в DPA по умолчанию, как основной протокол. WCF обеспечивает максимально быструю передачу от DPA сервера к DPA хосту. Хотя WCF протокол не имеет встроенных средств гарантии доставки, частично этот вопрос решается архитектурой Транспорта, что описано далее в этой статье.
MSMQ
Протокол MSMQ использует Microsoft Message Queue для доставки Событий получателю.
Внимание! Перед тем как настраивать Транспорт DPA на использование протокола MSMQ, убедитесь, что компоненты Microsoft Message Queue установлены в операционной системе.
Установить компоненты Microsoft Message Queue можно выполнив следующую команду с привилегиями администратора:
Dism /online /Enable-Feature /FeatureName:MSMQ-Container /FeatureName:MSMQ-Server
Протокол MSMQ использует приватные очереди на локальной или удаленной машине. Очередь на удаленной машине применяется при развертывании DPA сервера и DPA хоста на разных машинах. В таком случае используется очередь на машина DPA хоста.
Для настройки протокола MSMQ необходимо указать два ключевых параметра - имя машины и имя очереди. В качестве имени машины возможно использовать сетевое имя, доменное имя, IP-адрес или символ "." для локальной очереди.
Внимание! Перед тем как настраивать Транспорт DPA на использование протокола MSMQ, создайте приватную очередь и настройте права доступа. Учетная запись, из под которой работает служба DPA сервера, должна иметь права на запись в очередь. Учетная запись, из под которой работает служба DPA хоста, должна иметь права на извлечение из очереди.
Следующий скрипт PowerShell создает приватную очередь и назначает права доступа для доменного пользователя:
PS C:\> New-MsmqQueue -Name "QueueName" -QueueType Private PS C:\> Get-MsmqQueue -Name "QueueName" -QueueType Private | Set-MsmqQueueAcl -UserName "DOMAIN\User" -Allow Peek,Receive,Send
Обратите внимание, для использования Транспорта MSMQ между DPA сервер и DPA хост необходимо использовать очередь с предопределенным именем:
Xtensive.Project109.Host.DPA.Queue
MSMQ имеет встроенные механизмы гарантии доставки посылок получателю.
Варианты настройки
В каких случаях требуется добавить дополнительный (второй, третий и т.д.) Транспорт?
Во-первых, дополнительный Транспорт может потребоваться при передаче данных DPA сервера в стороннюю систему.
Во-вторых, допустимо настроить один DPA сервер для отправки данных в два и более DPA хоста. Тогда на каждый DPA хост требуется настроить отдельный экземпляр Транспорта.
Можно ли для конкретного события выбрать Транспорт, который будет использован для его передачи?
Да, пример настройки:
=> => DPAhost \ DPAserver \ Драйвера \ <Драйвер> \ Events \ <Событие> \ Транспорт
Выбрать нужный Транспорт и нажать "Сохранить":
Можно ли для события указать более одного Транспорта?
Да, в таком случае копии данных по этому событию будут отправляться в каждый выбранный Транспорт.
Можно ли настроить второй Транспорт для обмена между DPA сервер и DPA хост?
Крайне не рекомендуется настраивать более одного Транспорта между конкретными экземплярами DPA сервера и DPA хоста. Это может привести к дублированию данных, искажению порядка событий и другим нежелательным эффектам.
Как изменить параметры Транспорта?
Параметры Транспорта возможно изменить только через файл конфигурации DpaServer.config.
- 1. Остановите службу DPA сервера.
net stop DpaServer
- 2. Файл конфигурации находится по следующему пути:
C:\ProgramData\X-tensive\DPA\Config\DpaServer.config
- 3. Обязательно создайте резервную копию файла конфигурации.
- 4. Настройки транспорта находятся в узле root \ transports:
<?xml version="1.0"?> <root xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ver="1"> <drivers> ... </drivers> <states> ... </states> <transports> <transport transportIdentifier="0b75081d-210c-4b01-885b-154e8104503e" name="WCF" transportType="WcfTransport" restPeriod="00:00:01" resendingPeriod="00:00:15"> <wcfTransport ipAddress="localhost" port="45618" /> </transport> <transport transportIdentifier="a241a03e-a2dd-48b4-8611-e15023b07b26" name="MES-queue" transportType="MsmqTransport" restPeriod="00:00:01" resendingPeriod="00:00:15"> <msmqTransport machine="localhost" queue="MES-queue" /> </transport> </transports> </root>
- 5. Измените настройки и сохраните файл конфигурации.
- 6. Запустите службу DPA сервера.
net start DpaServer
Гарантия доставки
Если по какой-то причине отправка данных по Транспорту не возможна, например, DPA хост временно недоступен, идет установка обновления и т.д., данные не будут утеряны. События и Пакеты будут накапливаться во внутренней FIFO очереди на отправку. В зависимости от количества драйверов, подключенных к DPA серверу, а так же в зависимости от частоты изменения данных по Событиям, очередь позволяет вместить данные от нескольких часов до нескольких дней работы.
При восстановлении связи накопленные данные будут переданы, очередь будет опустошена:
Внимание! Для работы внутренней FIFO очереди используется оперативная память. Данные не выгружаются в файловую систему, базу данных или другие хранилища. Если до отправки сообщений получателю DPA сервер будет остановлен, содержимое очереди будет утеряно.
Диагностика
На что нужно обратить внимание в первую очередь при возникновении проблем с получением данных по Транспорту из DPA сервера:
- 1. Лицензия должна быть установлена и активна
- 2. Убедиться, что События активны:
=> => DPAhost \ DPAserver \ Драйвера \ <Драйвер> \ Events \ <Событие>
- 3. Убедиться, что Транспорт для Событий настроен корректно:
=> => DPAhost \ DPAserver \ Драйвера \ <Драйвер> \ Events \ <Событие> \ Транспорт
- 4. При использовании протокола WCF убедиться, что IP-адрес и порт получателя установлены корректно:
=> => DPAhost \ DPAserver \ Транспорт \ WCF
- 5. Используйте счетчики производительности Транспорта для анализа проблем доставки и производительности:
=> => DPAhost \ DPAserver \ Транспорт \ WCF => Счетчики производительности
Драйвера
Добавление
Примечание при наличии сетей/подсетей и сетевых экранов необходимо убедиться что с машины, на которой развернут компоненты DPA сервера доступен IP-адрес станка и порт (по умолчанию, или определённый по результатам исследования)
Для вызова модального окна добавления драйвера в древовидной структуре мониторинга выберите сервер, к которому вы планируете подключить драйвер и в контекстном меню или в основном меню, расположенным над деревом, выберите пункты Добавить -> Драйвер.
Возможные варианты подключение нового драйвера:
- Вручную – все параметры подключения указываются вручную, для самостоятельного применения рекомендуется только при работе с виртуальными станками
- Ethernet – автоматизированное подключение по IP-адресу станка, рекомендуемый вариант при самостоятельном подключении драйвера
- Serial - позволяет добавить драйвер для специфичных ЧПУ, подключаемых через COM-порты
- Импорт - применим в случаях, когда требуемый драйвер не предустановлен в систем
Ethernet
В открывшемся модальном окне укажите производителя и тип драйвера, если они известны, это сократит время поиска. В случае, если вы не уверены, выберите вариант Auto. Ведите IP-адрес подключаемого оборудования, если команда X-tensive не указала обратное в строке номер порта оставьте настройку "Авто", нажмите кнопку "Далее".
[[File: | 1000px]]
Ожидайте. Система запрашивает параметры единицы оборудования по указанному IP-адресу. Система обнаружила драйвер на указанном IP-адресе. Нажмите кнопку «Далее».
[[File: | 1000px]] [[File: | 1000px]]
На шаге загрузки конфигурации выберите пункт «Из существующих» и, в выпадающем списке, выберите единственную доступную конфигурацию драйвера, если команда X-tensive не указала обратное. Нажмите кнопку «Далее».
[[File: | 1000px]]
Если команда X-tensive не указала обратное, на шаге выбора транспорта выберите WCF. Нажмите кнопку «Далее».
[[File: | 1000px]]
Укажите к какому подразделению необходимо отнести создаваемую единицу оборудования, все данные, получаемые от подключаемого IP будут логироваться в привязке к этой единице, шаг можно пропустить, в последующем, выбор может быть изменен. Нажмите кнопку «Далее».
[[File: | 1000px]]
Подтвердите создание драйвера ("Создать").
[[File: | 1000px]]
Настройка драйвера
Конфигурация
Счетчики производительности
Журналы
Лицензия
Типы лицензий
Система DPA поддерживает три типа лицензий: "Production", "Trial" и "Trial No Hid".
"Trial" лицензии
Trial лицензия имеет ограниченный срок действия. Как правило, Trial лицензия выдается сроком на 1 месяц. После этого необходимо получить Production лицензию, или новую Trial лицензию.
Что произойдет, если срок действия лицензии истечет?
Если срок действия лицензии истек, то DPA сервер перестанет считывать данные с подключенного оборудования (ЧПУ и контроллеры).
Есть ли другие функциональные ограничения для Trial лицензии?
Trial лицензия позволяет использовать абсолютно весь функционал DPA. Никаких ограничений нет.
Trial лицензия имеет привязку к машине, на которую установлен DPA сервер. В лицензии прописан HID - hardware id. Его формирует система автоматически и он уникальный для каждой машины. Важно учесть - при изменении конфигурации машины, например, если заменить или добавить сетевую карта, HID станет недействительным. В этом случае потребуется обновление лицензии. Trial лицензию нельзя переносить с одной машины на другую, она также станет недействительной.
Пример файла Trial лицензии:
<LicenseKey Product="DPA Server" Type="DPA Server Trial"> <Period ActivationDate="2016-07-08T11:45:00.8811621+05:00" ExpirationDate="2016-08-07T11:45:00.8811621+05:00" /> <SerialNumber>ad3b1f0f-962a-4493-98fd-c7eae73d51a9</SerialNumber> <Parameters HardwareID="RDuUtoFA2QZhf9/LUV7u/w==" /> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> <Reference URI=""> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>Scw9n4hqbNvey7H00Lbp5Pfxab8=</DigestValue> </Reference> </SignedInfo> <SignatureValue>...</SignatureValue> </Signature> </LicenseKey>
Обратите внимание на следующие параметры лицензии.
Срок действия лицензии:
<Period ActivationDate="..." ExpirationDate="..." />
HID:
<Parameters HardwareID="..." />
Файл лицензии имеет цифровую подпись. Поэтому любое изменение, внесенное в файл, сделает лицензию недействительной.
"Trial No Hid" лицензии
Trial No Hid лицензия имеет те же самые ограничения, что и обычная Trial лицензия, за исключением привязки к конфигурации машины: параметр HID не используется. Такую лицензию можно переносить с одной машины на другую.
Trial No Hid лицензия может применяться в случаях установки DPA сервера на виртуальную машину. Как правило, при перезагрузке виртуальной машины может поменяться ее конфигурация, например, может смениться MAC-адрес сетевой карты, что сделает HID недействительным.
"Production" лицензии
Production лицензия не имеет ограничений по срокам действия.
Но есть другие важные ограничения. Первое. Ограничение по количеству оборудования - рабочих центров - станков с ЧПУ и контроллеров, которые могут быть подключены к DPA серверу. Обратите внимание на параметр "WorkCentersCount":
<LicenseKey Product="DPA Server" Type="DPA Server Production"> <Period ActivationDate="2016-08-18T12:38:56.0589918+05:00" /> <SerialNumber>e75640b5-d781-464e-ba61-15b1f92f0f92</SerialNumber> <Parameters HardwareID="XwyIrJl/Lq1HEFoGTuHqwg==" WorkCentersCount="1000" IsProgramLoader="true" /> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> <Reference URI=""> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>uqDxEQW7s9RN+bkuqz6zjN0T/8s=</DigestValue> </Reference> </SignedInfo> <SignatureValue>...</SignatureValue> </Signature> </LicenseKey>
Второе. Ограничение по доступным функциям. Например, параметр лицензии "IsProgramLoader" определяет, доступен ли функционал передачи УП на станки с ЧПУ.
Ограничивает ли Production лицензия использование виртуальных драйверов?
Нет, виртуальные драйвера не учитываются при определении количества подключенного оборудования.
Если драйвер деактивирован, он будет учитываться в лицензии?
Нет.
Что произойдет, если количество активных драйверов на DPA сервере превысит ограничения лицензии?
При этом DPA сервер перестанет считывать данные с подключенного оборудования. В таком случае необходимо деактивировать или удалить лишние драйвера. Либо запросить новую Production лицензию с увеличенным количеством рабочих центров.
Как получить лицензию
Чтобы получить файл лицензии, вы можете обратиться к вашему менеджеру или самостоятельно выполнить несколько шагов:
1. DPA: Создать запрос на лицензию.
Перейдите на страницу управления лицензией:
=> => DPAhost \ DPAserver \ Лицензия
Скопируйте HardwareID для запроса лицензии
2. Личный кабинет: Запросить лицензию.
Перейдите в Личный Кабинет по адресу lm.rundpa.com.
Пройдите все шаги раздела "Запросить лицензию", укажите в соответствующем поле скопированный HardwareID.
3. Личный кабинет: Дождаться подтверждения лицензии.
4. Личный кабинет: Скачать подписанный файл лицензии.
После подтверждения лицензии, файл лицензии можно скачать через Личный Кабинет. Имя файла будет иметь вид "license.xml".
5. DPA: Установить лицензию.
Перейдите на страницу управления лицензией:
=> => DPAhost \ DPAserver \ Лицензия
Нажмите "Установить лицензию". Загрузите полученный файл лицензии. Убедитесь, что лицензия установлена и активна: