Мониторинг событий
IBM® Business Process Manager отправляет события отслеживания. Эти событие отправляются в IBM Business Monitor, чтобы можно было отслеживать каждое создаваемое и развертываемое приложение процессов.
Части события отслеживания
В следующей таблице описаны важные части события отслеживания. Формат события подробно описан в схеме XML schema.
Для указания на части событий применяется стандартная нотация XPath. Если применяются вложенные элементы, это обозначается косой чертой (/), отделяющей имена частей события. Символ @ означает, что часть является атрибутом элемента. В таблице также показано, является ли часть события обязательной.
Копия схемы XML также приведена для справки в связанном разделе "Расширения схемы событий".
| Часть события | Описание | Обязательная или необязательная | Тип |
|---|---|---|---|
| mon:monitorEvent | Корневой элемент события. Для каждого события существует один корневой элемент. |
Обязательный | complex |
| mon:monitorEvent/@mon:id | Уникальный идентификатор события. | Необязательный | xs:string |
mon:monitorEvent/ |
Описывает характер, время и источник вхождения, о котором сообщает событие. Для каждого события существует один элемент mon:eventPointData. | Обязательный | complex |
mon:monitorEvent/ |
Определяет разновидность события (например, bpmnx:PROCESS_STARTED). Для каждого события существует один элемент mon:kind. | Обязательный | xs:Qname |
mon:monitorEvent/ |
Описывает исполняемый элемент модели, определяющий точку отправки
события (например, неавтоматизированная задача, такая как Проверить иск). Для каждого события существует хотя бы один элемент mon:model, но может быть несколько элементов mon:model, если точка отправки события является частью определенной в модели структуры (например, неавтоматизированная задача, определенная в процессе, входящем в состав приложения процессов). |
Обязательный | complex |
mon:monitorEvent/ |
Задает тип элемента модели процесса, из которого отправляется событие. Значение атрибута mon:type указывает на элементы, определенные в схеме BPMN 2.0 (например, bpmn:process или bpmn:userTask). | Обязательный | xs:QName |
mon:monitorEvent/ |
Указывает или описывает экземпляр исполняемого элемента модели,
который отправил событие (например, конкретное выполнение задачи). Экземпляр обычно выполняется
в среде выполнения, такой как модуль процессов, но на него указывает элемент mon:instance. Существует не более одного элемента mon:instance на каждый элемент mon:model. В некоторых случаях элемент mon:model может появиться без элемента mon:instance (например, когда элемент верхнего уровня mon:model указывает на конструктивный элемент группировки, такой как приложение процесса или решение, в котором отсутствуют динамические экземпляры). |
Обязательный | complex |
mon:monitorEvent/ |
Содержит иерархическую структуру идентификаторов зависимости, которую
можно автоматически создать с помощью модуля процесса или которую может определить
пользователь. Для событий, отправляемых из IBM Business Process Manager,
дерево <mon:ancestor> заполняется модулем процесса. Элементы <mon:ancestor> содержат
идентификаторы экземпляров, определяющие следующие элементы:
Дополнительные идентификаторы зависимости, такие как номера заказов клиентов или идентификаторы заявок, могут быть добавлены в раздел mon:correlation, расположенный за деревом <mon:ancestor>. Можно использовать дополнительные идентификаторы для обеспечения зависимости в разных бизнес-процессах. |
Необязательный | complex |
mon:monitorEvent/ |
Описывает расположение источника, из которого отправляется событие (например, определенный сервер). | Необязательный | complex |
mon:monitorEvent/ |
Обозначает сервер, на котором выполняется отправитель событий. | Необязательный | complex |
mon:monitorEvent/ |
Показывает синтаксис идентификации сервера (например, URL или IP-адрес). Если элемент mon:server присутствует, необходимо указать атрибут mon:type для уточнения идентификации сервера. | Обязательный | xs:QName |
mon:monitorEvent/ |
Содержит правильно сформированный XML, отправляемый в отчете приложения,
отправляющего события. Этот элемент в событии содержит пользовательские бизнес-данные,
такие как данные отслеживаемых полей, информация о точке мониторинга или данные
KPI. Некоторые события не содержат элемент applicationData. Дополнительная информация о структуре applicationData приведена в связанном разделе "Расширения схемы событий". Также смотрите пример applicationData в конце этого раздела. |
Необязательный | complex |
Имена частей события отслеживания начинаются с префикса пространства имен mon, связанного с пространством имен http://www.ibm.com/xmlns/prod/websphere/monitoring/7.5.
Префикс пространства имен xs, используемый для указания типов схемы XML, связан с http://www.w3.org/2001/XMLSchema.
<mon:correlation>
<mon:ancestor mon:id="3e888eb2-9c18-4cd5-a9de-3991aeb4f40e.2064.33692aa7-cb0e-4f0a-ac90-b85a5a5687ffT.161.6">
<mon:ancestor mon:id="3e888eb2-9c18-4cd5-a9de-3991aeb4f40e.2064.33692aa7-cb0e-4f0a-ac90-b85a5a5687ffT.161">
</mon:ancestor>
</mon:ancestor>
<wle:starting-process-instance>3e888eb2-9c18-4cd5-a9de-3991aeb4f40e.2064.33692aa7-cb0e-4f0a-ac90-b85a5a5687ffT.161
<mon:correlation>
В следующем примере события отслеживания префиксы пространства имен связаны атрибутами xmlns в корневом элементе.
Пример события отслеживания
<mon:monitorEvent xmlns:mon="http://www.ibm.com/xmlns/prod/websphere/monitoring/7.5"
mon:id="C1299df7f13ced21792162189"
xmlns:bpmn="http://schema.omg.org/spec/BPMN/2.0"
xmlns:bpmnx="http://www.ibm.com/xmlns/bpmnx/20100524/BusinessMonitoring"
xmlns:ibm="http://www.ibm.com/xmlns/prod/websphere/monitoring/7.5/extensions"
xmlns:wle="http://www.ibm.com/xmlns/prod/websphere/lombardi/7.5"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<mon:eventPointData>
<mon:kind mon:version="2010-11-11">bpmnx:PROCESS_STARTED</mon:kind>
<mon:time mon:of="occurrence">2011-02-03T10:44:13.829-05:00</mon:time>
<ibm:sequenceId>2</ibm:sequenceId>
<mon:model mon:type="bpmn:process" mon:id="854325da-04ea-4ea6-8664-c701b4bf3d61"
mon:version="2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55">
<mon:name>Ping</mon:name>
<mon:documentation>Определение процесса "Ping". </mon:documentation>
<mon:instance mon:id="754">
<mon:state>Active</mon:state>
</mon:instance>
</mon:model>
<mon:model mon:type="wle:processApplication" mon:id="b9e85db9-5c4d-40e7-9421-e53acb738f4e"
mon:version="2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55">
<mon:name>Вызовы туда-сюда</mon:name>
<mon:documentation>Пинг-понг между двумя процессами. </mon:documentation>
</mon:model>
<mon:correlation>
<mon:ancestor mon:id="854325da-04ea-4ea6-8664-c701b4bf3d61.2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55.754"/>
<wle:starting-process-instance>854325da-04ea-4ea6-8664-c701b4bf3d61.2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55.754
</wle:starting-process-instance>
</mon:correlation>
</mon:eventPointData>
</mon:monitorEvent>
Пример элемента applicationData
<mon:applicationData>
<wle:tracking-point wle:time="2011-02-03T10:44:16.054-05:00" wle:name="Вызвать Ping ? (PRE)"
wle:id="8bfe448-7ceebpdid571234bad276b9a1-4cb5676012c08bfe448-7cd0 (PRE)"
wle:version="2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55"
wle:groupName="at12886649788291288665594539"
wle:groupId="guid:571234bad276b9a1:-4cb56760:12c08bfe448:-7cee"
wle:groupVersion="2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55">
<wle:tracked-field wle:name="levelEnteringPong"
wle:id="bpdid:571234bad276b9a1:-1448ee2a:12c08c263e4:-7fbc"
wle:type="xs:integer">1</wle:tracked-field>
<wle:tracked-field wle:name="reportOfWhereInPong"
wle:id="bpdid:571234bad276b9a1:-1448ee2a:12c08c263e4:-7fba"
wle:type="xs:string">Это Pong. Вызван с уровнем = 1. </wle:tracked-field>
<wle:tracked-field wle:name="argumentForPing"
wle:id="bpdid:571234bad276b9a1:-1448ee2a:12c08c263e4:-7fb8"
wle:type="xs:integer"/>
<wle:kpi-data wle:name="Трудозатраты"
wle:id="fbec4968-5e4c-4f2b-b11b-f3c9ef63d09b"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:decimal">0</wle:kpi-data>
<wle:kpi-data wle:name="Общее время (часы)"
wle:id="67cbb213-0032-4f14-be44-7e9c7a1a146f"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:dayTimeDuration">P0DT0H0M0S</wle:kpi-data>
<wle:kpi-data wle:name="Пауза (часы)"
wle:id="43b503bd-63e7-4c42-8268-92d1033e0997"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:dayTimeDuration">P0DT0H0M0S</wle:kpi-data>
<wle:kpi-data wle:name="Стоимость ресурсов"
wle:id="d5da2c80-b2af-40a6-981d-9de4df12ed12"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:decimal">0</wle:kpi-data>
<wle:kpi-data wle:name="Добавленная стоимость"
wle:id="e30cf309-a884-4a7b-a2db-16e8a371a4c1"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:decimal">1</wle:kpi-data>
<wle:kpi-data wle:name="Время выполнения (часы)"
wle:id="8601bb6b-9c9d-4cba-936e-16350a036de3"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:dayTimeDuration">P0DT0H0M0S</wle:kpi-data>
<wle:kpi-data wle:name="Стоимость"
wle:id="995ba3fc-e786-45eb-b356-47acb3d3ebbc"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:decimal">0.00000000</wle:kpi-data>
<wle:kpi-data wle:name="Переработка"
wle:id="0f650e6c-a9d7-4355-90bd-06530fa3eeec"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:decimal">0</wle:kpi-data>
</wle:tracking-point>
</mon:applicationData>
Особенности
мониторинга событий, генерируемых процессами IBM BPM
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<common>
<monitor-event-emission merge="replace">
<enabled>true</enabled>
<use-system-id-for-correlation>true</use-system-id-for-correlation>
</monitor-event-emission>
</common>
</properties>"