tutorial

Monitoring Flowable BPM with Vigilmon: Engine Health, REST API, Admin UI, and Database Connectivity

How to monitor Flowable BPM with Vigilmon — Spring Boot actuator health, REST API uptime, Admin UI availability, and async job executor monitoring for the open source BPMN/CMMN/DMN workflow suite.

Flowable is the open source Business Process Management suite that powers BPMN 2.0 process automation, CMMN case management, and DMN decision tables across thousands of Java applications. Forked from Activiti 5.x in 2016 by the original Activiti core team, Flowable has become the go-to choice for organisations that need a full BPM stack with enterprise support. When the Flowable Spring Boot application goes down, all running process instances freeze — user tasks go unassigned, timer events stop firing, and async service tasks stop executing. When the REST API fails, every external integration that creates, queries, or completes process tasks is broken. Vigilmon gives you external visibility into Flowable's health: Spring Boot actuator status, REST API availability, Admin UI uptime, and SSL certificate health.

What You'll Set Up

  • Flowable Spring Boot actuator health check via the /actuator/health endpoint
  • REST API uptime monitoring to catch API-level failures
  • Flowable Admin UI availability monitoring for process administrators
  • SSL certificate monitoring for HTTPS deployments
  • An alerting configuration mapped to Flowable's key failure modes

Prerequisites

  • Flowable running as a Spring Boot application (Flowable REST or Flowable All-in-One)
  • Spring Boot Actuator enabled (included in the standard Flowable distribution)
  • Admin UI deployed and accessible over HTTP/HTTPS
  • A free account at vigilmon.online

Step 1: Understand Flowable's Externally Observable Endpoints

Flowable's standard Spring Boot distribution exposes the following endpoints:

| Endpoint | Default path | Role | |---|---|---| | Actuator health | /actuator/health | Spring Boot health (DB, executor, disk) | | REST API | /flowable-rest/service/ | Process, task, and case management API | | Admin UI | /flowable-admin | Web administration console | | Actuator metrics | /actuator/metrics | Micrometer metrics (Prometheus-compatible) | | IDM UI | /flowable-idm | Identity management UI |

The actuator health endpoint, REST API, and Admin UI are the three external surfaces to monitor.


Step 2: Monitor the Spring Boot Actuator Health Endpoint

Flowable's Spring Boot actuator health endpoint reports the overall application health including database connectivity, disk space, and the async job executor:

curl http://flowable.example.com:8080/actuator/health
# Returns: {"status":"UP","components":{"db":{"status":"UP"},"diskSpace":{"status":"UP"}}}
  1. Log in to VigilmonAdd Monitor → HTTP.
  2. URL: https://flowable.example.com/actuator/health.
  3. Check interval: 60 seconds.
  4. Response timeout: 15 seconds.
  5. Expected status: 200.
  6. Keyword: "status":"UP".
  7. Label: Flowable actuator health.
  8. Click Save.

This monitor catches:

  • Flowable Spring Boot application crashes
  • Database connectivity loss (PostgreSQL, MySQL, Oracle)
  • Disk space exhaustion causing Flowable to refuse execution
  • JVM out-of-memory conditions killing the process

Alert sensitivity: Set to trigger after 1 consecutive failure — a health check failure means all process execution has stopped.

Security note: In production, the actuator endpoints are typically secured. If /actuator/health requires authentication, configure HTTP Basic Auth in Vigilmon. Alternatively, expose only the health endpoint publicly (management.endpoint.health.show-details=never) without credentials for monitoring purposes.


Step 3: Monitor the Flowable REST API

Flowable's REST API is used by all external integrations — process starts, task completions, case management, and decision table evaluations. Use a lightweight ping against a known REST endpoint:

# Check REST API is responding
curl -u rest-admin:test https://flowable.example.com/flowable-rest/service/management/engine
# Returns: {"name":"default","resourceUrl":"...","exception":null,"version":"..."}
  1. Add Monitor → HTTP.
  2. URL: https://flowable.example.com/flowable-rest/service/management/engine.
  3. Check interval: 60 seconds.
  4. Response timeout: 15 seconds.
  5. Expected status: 200.
  6. Keyword: "name".
  7. HTTP Auth: Add Basic Auth credentials for the REST user.
  8. Label: Flowable REST API.
  9. Click Save.

If your REST API URL differs (e.g., the context path is customized), adjust the URL accordingly. The management engine endpoint is a lightweight, read-only probe that doesn't create any process state.


Step 4: Monitor the Flowable Admin UI

The Flowable Admin UI is the web console for process administrators — it provides access to running process instances, job management, user task assignments, and engine configuration. When it's unavailable, administrators cannot investigate incidents or manage stuck processes:

curl https://flowable.example.com/flowable-admin
# Returns HTML: "Flowable"
  1. Add Monitor → HTTP.
  2. URL: https://flowable.example.com/flowable-admin.
  3. Check interval: 60 seconds.
  4. Response timeout: 15 seconds.
  5. Expected status: 200.
  6. Keyword: Flowable (present in the Admin UI page title).
  7. Label: Flowable Admin UI.
  8. Click Save.

The Admin UI shares the same Spring Boot process as the REST API in the Flowable All-in-One distribution. If the REST API monitor fires, the Admin UI monitor will typically also fire — they indicate the same underlying failure.


Step 5: Monitor the IDM (Identity Management) UI

If your Flowable deployment includes the Flowable IDM UI for user and group management:

  1. Add Monitor → HTTP.
  2. URL: https://flowable.example.com/flowable-idm.
  3. Check interval: 2 minutes.
  4. Expected status: 200.
  5. Keyword: Flowable.
  6. Label: Flowable IDM UI.
  7. Click Save.

Step 6: Monitor SSL Certificates

Flowable's HTTPS endpoints use TLS certificates. Certificate expiry causes browser access failures and REST API client connection rejections:

openssl s_client -connect flowable.example.com:443 2>/dev/null | openssl x509 -noout -dates
  1. Add Monitor → SSL Certificate.
  2. Domain: flowable.example.com.
  3. Alert when expiry is within: 30 days.
  4. Alert again: 14 days, 7 days, 3 days, 1 day.
  5. Click Save.

Step 7: Configure Alerting

In Vigilmon under Settings → Notifications, configure your alert channels:

| Monitor | Trigger | Incident meaning | Action | |---|---|---|---| | Actuator health | Non-200 or "UP" missing | Flowable down or degraded (DB/disk failure) | Check application logs; verify database connectivity; inspect JVM heap | | REST API | Non-200 or keyword missing | REST API unavailable; integrations broken | Check application logs; verify API auth; test DB connection | | Admin UI | Non-200 or Flowable missing | Admin console unavailable | Usually same root cause as REST API failure; check application | | IDM UI | Non-200 or Flowable missing | IDM service unavailable; user management broken | Check application logs and IDM configuration | | SSL Certificate | < 30 days to expiry | Certificate expiring | Renew certificate; test browser and API access after renewal |

Alert after: 1 consecutive failure for actuator health and REST API monitors. 2 consecutive failures for Admin UI and IDM UI monitors.


Common Flowable Failure Modes and What Vigilmon Catches

| Scenario | Vigilmon monitor | |---|---| | Spring Boot JVM out-of-memory | Actuator health and REST API monitors fire; all process execution stops | | Database connection pool exhausted | Actuator health reports DB DOWN; REST API returns 503 | | PostgreSQL/MySQL server down | Actuator health shows "db":{"status":"DOWN"}; all monitors fire | | Async job executor thread pool saturated | Health may still show UP; dead jobs accumulate — check internal metrics | | Timer events not firing | Not directly catchable externally — check job executor metrics internally | | Failed async jobs accumulating | Not directly catchable externally — query ACT_RU_DEADLETTER_JOB table | | Admin UI deployment failure (new version) | Admin UI monitor fires; REST API may still work | | SSL certificate expires | SSL monitor alerts at 30-day threshold; HTTPS connections fail | | Flowable upgrade migration failure | Actuator health fires if Liquibase migration fails on startup | | DNS misconfiguration | All monitors fire simultaneously |


Async Job Executor and Dead Job Monitoring

Vigilmon monitors Flowable's external availability. Async job executor health, dead job count, and user task backlog require internal monitoring:

  • Actuator metrics endpoint: /actuator/metrics/flowable.job.execution.success and flowable.job.execution.failed expose job execution success and failure rates via Micrometer.
  • Database queries: Query ACT_RU_DEADLETTER_JOB for dead async jobs and ACT_RU_TIMER_JOB for timer events due in the past — both indicate async executor issues.
  • Alert thresholds: Alert when SELECT COUNT(*) FROM ACT_RU_DEADLETTER_JOB > 0 — dead jobs indicate systematic service task failures that Flowable won't automatically retry.
  • User task backlog: Query SELECT COUNT(*) FROM ACT_RU_TASK WHERE ASSIGNEE_ IS NULL for unassigned user tasks and alert when the count exceeds your SLA threshold.

Vigilmon catches infrastructure-level failures (application down, database unreachable, API unavailable, certificate expired). Process-level health requires database queries or Micrometer metric collection.


Flowable is the runtime for your organisation's automated business processes — when it goes down, user tasks go unassigned, timer-driven SLA enforcement stops, and service task integrations halt. Vigilmon gives you the external health signal that confirms the Flowable engine is alive before your process participants and external integrations notice: Spring Boot actuator health, REST API availability, Admin UI uptime, and SSL certificate expiry, so you can restore process execution before business SLAs are breached.

Start monitoring Flowable in under 5 minutes — register free at vigilmon.online.

Monitor your app with Vigilmon

Free plan — 5 monitors, no credit card required. Up and running in 60 seconds.

Start free →