Operate¶
Aplicacion web de monitoreo de procesos que consume datos exportados por el CamundaExporter via Elasticsearch/OpenSearch. Permite visualizar instancias de proceso, inspeccionar variables, resolver incidents y ejecutar operaciones batch.
Contexto¶
Operate es la herramienta principal para que los operadores y desarrolladores observen que esta pasando en el cluster Zeebe en tiempo casi-real. No interactua directamente con los brokers para leer estado — en su lugar consume una proyeccion de los datos que el concepts/exporter-system escribe en la concepts/search-infrastructure.
Arquitectura de datos¶
Operate se alimenta exclusivamente de indices Elasticsearch/OpenSearch escritos por el CamundaExporter:
- El indice principal es
operate-list-viewque utiliza un esquema de join relation con relaciones parent-child: - Parent:
processInstance— la instancia de proceso como entidad raiz - Children:
activity(elementos BPMN ejecutados) yvariable(variables del scope) - Este modelo de join permite queries eficientes para listar instancias con sus actividades y variables en una sola consulta
- Indices adicionales cubren:
operate-process,operate-incident,operate-flownode-instance,operate-decision,operate-batch-operation
Entity model¶
La entidad central es ProcessInstanceForListViewEntity con los siguientes estados:
| Estado | Descripcion |
|---|---|
ACTIVE |
Instancia en ejecucion, aun no ha terminado |
COMPLETED |
Instancia finalizo exitosamente todos sus paths |
CANCELED |
Instancia fue cancelada explicitamente (via API o Operate) |
INCIDENT |
Instancia tiene al menos un incident activo que bloquea progreso |
Los incidents representan errores que requieren intervencion humana: un job que fallo todos sus retries, una expression FEEL invalida, un mensaje no correlacionado, etc.
REST API unificada¶
Operate expone una API REST unificada en el path /v2/:
GET /v2/process-instances— listar/buscar instancias con filtrosGET /v2/process-instances/{key}— detalle de una instanciaGET /v2/flownode-instances— nodos ejecutadosGET /v2/variables— variables por scopeGET /v2/incidents— incidents activos y resueltosPOST /v2/process-instances/{key}/cancel— cancelar instanciaPOST /v2/batch-operations— operaciones masivas
La API es consumida tanto por el frontend React de Operate como por integraciones externas.
Capacidades principales¶
Visualizacion de instancias¶
- Vista de lista con filtros por proceso, version, estado, fecha, variables
- Vista de diagrama BPMN con overlay de estado: que nodos se ejecutaron, cuales tienen incidents, cuales estan activos
- Drill-down a instancias individuales con timeline de ejecucion
Inspeccion de variables¶
- Variables por scope (proceso, sub-proceso, multi-instance)
- Historial de cambios de variables
- Edicion de variables en instancias activas (para debugging)
Resolucion de incidents¶
- Lista de incidents con tipo de error y elemento BPMN afectado
- Resolucion: corregir la causa (editar variable, fix externo) y marcar como resuelto
- El broker re-intenta el paso que fallo al resolver el incident
Batch operations¶
- Cancelar multiples instancias
- Resolver multiples incidents
- Migrar instancias entre versiones de proceso
Relaciones¶
- Consume datos de: entities/zeebe-broker (via concepts/exporter-system)
- Usa: concepts/search-infrastructure (Elasticsearch/OpenSearch)
- Relacionado con: entities/tasklist (ambos consumen del exporter)
Abierto / gaps¶
- Estrategia de retencion y archivado de datos historicos en los indices
- Modelo de permisos para operaciones destructivas (cancelar, resolver)
- Performance de queries con join relations en indices grandes (millones de instancias)