Диагностические данные
|
Этот раздел перенесён из документации Camunda 7 и в дальнейшем будет доработан с учётом особенностей OpenBPM Engine |
Диагностические данные собираются постоянно и могут быть собраны только вами. Это позволяет получать доступ к собранным данным через Java API и REST API OpenBPM Engine. Возможность легко получать доступ к этим данным полезна при обращении за помощью на нашем форуме https://forum.camunda.org/ или при создании задач в нашем трекере https://app.camunda.com/jira, так как они содержат большую часть информации, которая обычно необходима для понимания конфигурации вашей установки OpenBPM Engine.
Как получить доступ к данным
Java API
Для получения собранных данных через Java API можно использовать класс ManagementService. Например, следующий код получает информацию об обнаруженном поставщике JDK и версии:
ProcessEngine processEngine = ...;
ManagementService managementService = processEngine.getManagementService();
TelemetryData telemetryData = managementService.getTelemetryData();
Internals productInternals = telemetryData.getProduct().getInternals();
String jdkVendor = productInternals.getJdk().getVendor();
String jdkVersion = productInternals.getJdk().getVersion();
REST API
Вы можете получить собранные данные через REST API, вызвав эндпоинт Get Telemetry Data.
Собираемые данные
Ниже приведён полный список данных, которые собирает диагностический сборщик, а также пример из реальной системы. На концептуальном уровне они могут быть разделены на общие данные, мета/средовые данные и данные об использовании.
Общие данные (General data)
Категория «Общие данные» содержит информацию о процессном движке:
-
Installation — идентификатор, который хранится как свойство конфигурации процессного движка
-
Product name — название продукта (например,
OpenBPM Engine BPM Runtime) -
Product version — версия процессного движка (например,
7.X.Y) -
Product edition — редакция продукта (например,
communityилиenterprise) -
License key — имя клиента, дата истечения, включённые функции, а также необработанная информация лицензии
Данные лицензионного ключа не содержат защищённой информации, такой как подпись. Лицензионные данные передаются только если выполняется одно из следующих условий:
-
они присутствуют в базе данных при запуске движка
-
они установлены в движок через
ManagementService#setLicenseKeyhttps://docs.camunda.org/javadoc/camunda-bpm-platform/7.14/org/camunda/bpm/engine/ManagementService.html#setLicenseKey-java.lang.String -
они установлены в движок через Admin Webapp https://docs.camunda.org/manual/latest/webapps/admin/system-management/#camunda-license-key
Обратите внимание, что только в случае установки лицензионного ключа через Admin Webapp диагностические данные будут содержать структурированные метаданные из лицензионного ключа. Во всех остальных случаях будут передаваться неструктурированные «сырые» данные. Если лицензионный ключ удаляется из движка, он также удаляется из диагностических данных.
Мета- и средовые данные (Meta and environment data)
Категория «Мета/средовые данные» содержит информацию о среде выполнения:
-
Поставщик и версия базы данных
-
Поставщик и версия сервера приложений
-
Поставщик и версия JDK
-
Используемые веб-приложения OpenBPM Engine
Информация о сервере приложений не может быть получена в режиме встроенного (embedded) процессного движка, где не развернуто и не используется ни одно веб-приложение (например, Tasklist, Cockpit, REST-приложение).
В случае использования Azul Zulu JDK в качестве поставщика будет передано значение "Oracle Corporation", так как программно невозможно отличить его от Oracle JDK.
Данные об использовании (Usage data)
Категория «Данные об использовании» содержит информацию об используемых возможностях и компонентах процессного движка:
-
Commands count — количество выполненных команд с момента последнего получения данных. Это может быть период последних 24 часов, если данные были переданы в этот момент и процессный движок не был остановлен за это время. Каждый раз при остановке движка текущие собранные данные немедленно отправляются.
-
Metrics count — собираемые метрики: количество запущенных корневых экземпляров процессов, количество запущенных экземпляров активностей (также известных как экземпляры узлов потока — flow node instances), а также количество выполненных экземпляров решений и элементов решений. Подсчёт ведётся с момента запуска движка или с последнего отчёта, если движок работает более 24 часов.
-
OpenBPM Engine integration — флаг, показывающий, используются ли какие-либо интеграции OpenBPM Engine: Spring Boot Starter, OpenBPM Engine Platform Run, подсистема WildFly или OpenBPM Engine EJB Service.
Пример
{
"installation": "8343cc7a-8ad1-42d4-97d2-43452c0bdfa3",
"product": {
"name": "OpenBPM Engine BPM Runtime",
"version": "7.14.0",
"edition": "enterprise",
"internals": {
"database": {
"vendor": "h2",
"version": "1.4.190 (2015-10-11)"
},
"application-server": {
"vendor": "Wildfly",
"version": "WildFly Full 19.0.0.Final (WildFly Core 11.0.0.Final) - 2.0.30.Final"
},
"jdk": {
"version": "14.0.2",
"vendor": "Oracle Corporation"
},
"commands": {
"StartProcessInstanceCmd": {"count": 40},
"FetchExternalTasksCmd": {"count": 100}
},
"metrics": {
"process-instances": { "count": 936 },
"flow-node-instances": { "count": 6125 },
"decision-instances": { "count": 140 },
"executed-decision-elements": { "count": 732 }
},
"data-collection-start-date": "2022-11-320T15:53:20.386+0100",
"camunda-integration": [
"spring-boot-starter",
"camunda-bpm-run"
],
"license-key": {
"customer": "customer name",
"type": "UNIFIED",
"valid-until": "2022-09-30",
"unlimited": false,
"features": {
"camundaBPM": "true"
},
"raw": "customer=customer name;expiryDate=2022-09-30;camundaBPM=true;optimize=false;cawemo=false"
},
"webapps": [
"cockpit",
"admin"
]
}
}
}
Исходный код
Если вам нужны дополнительные детали, вы можете ознакомиться с реализацией диагностической подсистемы в нашем коде:
https://github.com/camunda/camunda-bpm-platform/blob/master/engine/src/main/java/org/camunda/bpm/engine/impl/diagnostics/DiagnosticsCollector.java.
Ссылка ведёт на текущую версию реализации в ветке master.
Лицензия и атрибуция
Эта документация была создана на базе материала "Camunda 7 Docs" от Camunda, находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License .
Оригинал документации: https://docs.camunda.org