<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Dmitriy Champa</title>
    <description>The latest articles on Forem by Dmitriy Champa (@dmitriy_champa_d458cfc7).</description>
    <link>https://forem.com/dmitriy_champa_d458cfc7</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3603262%2F716343a4-ddef-499a-934f-85eab6ca42a7.png</url>
      <title>Forem: Dmitriy Champa</title>
      <link>https://forem.com/dmitriy_champa_d458cfc7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/dmitriy_champa_d458cfc7"/>
    <language>en</language>
    <item>
      <title>Camunda Health Monitor v2.0 Open Source: AI-Powered Intelligence</title>
      <dc:creator>Dmitriy Champa</dc:creator>
      <pubDate>Sat, 22 Nov 2025 17:12:09 +0000</pubDate>
      <link>https://forem.com/dmitriy_champa_d458cfc7/camunda-health-monitor-v20-open-source-ai-powered-intelligence-4nlf</link>
      <guid>https://forem.com/dmitriy_champa_d458cfc7/camunda-health-monitor-v20-open-source-ai-powered-intelligence-4nlf</guid>
      <description>&lt;p&gt;Remember when I &lt;a href="https://dev.to/dmitriy_champa_d458cfc7/building-a-lightweight-camunda-monitoring-dashboard-from-enterprise-pain-to-open-source-solution-2ik4"&gt;shared the story&lt;/a&gt; of building a lightweight Camunda monitoring tool because enterprise APM solutions were overkill? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Version 2.0 just landed.&lt;/strong&gt; And it's not just an update—it's an evolution.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎥 See It In Action
&lt;/h2&gt;

&lt;p&gt;

  &lt;iframe src="https://www.youtube.com/embed/3FImwwJ5IX8"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 What's New in v2.0
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Incident Intelligence Center
&lt;/h3&gt;

&lt;p&gt;The headline feature. A comprehensive command center that adapts to your Camunda configuration—whether you're running with full history logging or runtime-only mode.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it gives you:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Active Incidents Dashboard&lt;/strong&gt; - Real-time tracking with severity scoring and root cause classification&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Recurring Issues Detection&lt;/strong&gt; - Flags patterns that keep coming back with historical occurrence rates&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Historical Pattern Analysis&lt;/strong&gt; - Groups incidents by root cause across all processes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Recommendations&lt;/strong&gt; - Prioritized action items with specific remediation steps&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The game-changer?&lt;/strong&gt; Every incident is clickable, revealing comprehensive diagnostic modals with error messages, business keys, instance IDs, and timeline data. Everything you need to move from detection to resolution in seconds.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Farr6i680yjc2kdkq54s6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Farr6i680yjc2kdkq54s6.png" alt="Incident Intelligence Center"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Weekly Load Patterns
&lt;/h3&gt;

&lt;p&gt;Capacity planning transformed from guesswork into data-driven strategy.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Daily Distribution Analysis&lt;/strong&gt; - See exactly where capacity is needed (e.g., Friday = 69% of weekly traffic)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hourly Heatmap&lt;/strong&gt; - Color-coded visualization of every hour of every day&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Peak Hours Identification&lt;/strong&gt; - System automatically finds your busiest time slots&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scheduling Recommendations&lt;/strong&gt; - AI suggests optimal windows for batch jobs and maintenance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is the feature I wish I had when planning our infrastructure scaling last year.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Enhanced ML Analytics
&lt;/h3&gt;

&lt;p&gt;Building on the existing anomaly detection, v2.0 adds:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Stuck Activities Smart Detection&lt;/strong&gt; - Statistical analysis finds tasks that are technically running but practically frozen&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Capacity Forecasting&lt;/strong&gt; - ML predictions for the next 30 days&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Activity Bottleneck ROI&lt;/strong&gt; - Calculates exact time savings from optimizing specific service tasks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Version Performance Tracking&lt;/strong&gt; - Instantly detect regressions between deployments&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Process Categorization
&lt;/h3&gt;

&lt;p&gt;New automatic categorization system groups your processes by execution speed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ultra Fast (&amp;lt;5s)&lt;/li&gt;
&lt;li&gt;Very Fast (5-30s)&lt;/li&gt;
&lt;li&gt;Fast Background (&amp;lt;6min)&lt;/li&gt;
&lt;li&gt;Standard (6-30min)&lt;/li&gt;
&lt;li&gt;Extended (30min-4h)&lt;/li&gt;
&lt;li&gt;Long Running (4-24h)&lt;/li&gt;
&lt;li&gt;Batch/Manual (&amp;gt;24h)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Click into any category to see exactly which processes belong there. Perfect for architectural planning.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Why This Matters
&lt;/h2&gt;

&lt;p&gt;In v1.0, I focused on solving the "what's happening right now" problem. You could see cluster health, JVM metrics, and basic process execution data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;v2.0 answers the harder questions:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❓ Why are incidents recurring?&lt;/li&gt;
&lt;li&gt;❓ Which optimizations will save the most time?&lt;/li&gt;
&lt;li&gt;❓ When should we schedule maintenance?&lt;/li&gt;
&lt;li&gt;❓ Is our latest deployment performing worse?&lt;/li&gt;
&lt;li&gt;❓ Which processes are at risk of failing?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🏗️ Still Lightweight, Still Simple
&lt;/h2&gt;

&lt;p&gt;Despite adding AI/ML capabilities, the core philosophy remains:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No build steps&lt;/strong&gt; - Clone and run&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&amp;lt;500KB footprint&lt;/strong&gt; - Excluding Python deps&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&amp;lt;100MB memory&lt;/strong&gt; - Runs on a t2.micro&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5-minute setup&lt;/strong&gt; - No configuration hell&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The "heavyweight monitoring for lightweight needs" problem hasn't changed. My solution stays lean.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌍 Ecosystem Compatibility
&lt;/h2&gt;

&lt;p&gt;v2.0 maintains zero-configuration compatibility (and was successfully tested) with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Camunda 7 (all versions)&lt;/li&gt;
&lt;li&gt;Operaton&lt;/li&gt;
&lt;li&gt;CIB Seven
&lt;/li&gt;
&lt;li&gt;Eximee BPMS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your platform evolves, your monitoring layer stays stable.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎓 What I Learned Building This
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Start with Real Pain
&lt;/h3&gt;

&lt;p&gt;The best features come from solving actual production problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. AI Doesn't Mean Complex
&lt;/h3&gt;

&lt;p&gt;You don't need TensorFlow to add intelligence. Statistical analysis + smart categorization + clear recommendations often beats black-box heavy ML.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Simple Architecture Enables Community
&lt;/h3&gt;

&lt;p&gt;Keeping the codebase straightforward (Flask + Alpine.js) has led to more contributions than expected. Lower barrier = more engagement.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Open Source First, Enterprise Second
&lt;/h3&gt;

&lt;p&gt;Building features in the open-source version first ensures they solve real problems before commercializing advanced versions.&lt;/p&gt;

&lt;h2&gt;
  
  
  💬 Let's Talk, don't be shy!
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What monitoring challenges are you facing with Camunda?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm particularly curious about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What metrics do you wish you could see?&lt;/li&gt;
&lt;li&gt;How do you currently handle incident analysis?&lt;/li&gt;
&lt;li&gt;What would make this indispensable for your team?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Drop a comment below—I read and respond to every one.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔗 Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;📹 Video Demo&lt;/strong&gt;: &lt;a href="https://youtu.be/3FImwwJ5IX8" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;💻 GitHub&lt;/strong&gt;: &lt;a href="https://github.com/bibacrm/camunda-health-monitor" rel="noopener noreferrer"&gt;camunda-health-monitor&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🐳 Docker Hub&lt;/strong&gt;: &lt;a href="https://hub.docker.com/r/champabpmn/camunda-health-monitor" rel="noopener noreferrer"&gt;champabpmn/camunda-health-monitor&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🏢 LinkedIn&lt;/strong&gt;: &lt;a href="https://www.linkedin.com/company/champa-intelligence/" rel="noopener noreferrer"&gt;Champa Intelligence&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🌐 Website&lt;/strong&gt;: &lt;a href="https://champa-bpmn.com" rel="noopener noreferrer"&gt;champa-bpmn.com&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/bibacrm" rel="noopener noreferrer"&gt;
        bibacrm
      &lt;/a&gt; / &lt;a href="https://github.com/bibacrm/camunda-health-monitor" rel="noopener noreferrer"&gt;
        camunda-health-monitor
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Lightweight monitoring dashboard for Camunda 7 clusters with real-time metrics, JVM health tracking, and database analytics. Built with Flask, Alpine.js, and Tailwind CSS.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Camunda Health Monitor &amp;amp; Advanced AI/ML Analytics&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A lightweight, real-time monitoring dashboard for Camunda 7 based BPM Platform clusters. Monitor your process engines, track performance metrics, and gain insights into your workflow automation with a modern, responsive interface.&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b29de0acdfd19013f1f02689b15c933e4a6c145be9efa718288f88ba3280b1c5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d417061636865253230322e302d626c75652e737667"&gt;&lt;img src="https://camo.githubusercontent.com/b29de0acdfd19013f1f02689b15c933e4a6c145be9efa718288f88ba3280b1c5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d417061636865253230322e302d626c75652e737667" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://hub.docker.com/r/champabpmn/camunda-health-monitor" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/54709e1efd9e78d3223bcf5b4746e72729b805ceab85d59d39256cf1a3e46f2d/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f762f6368616d706162706d6e2f63616d756e64612d6865616c74682d6d6f6e69746f723f6c6162656c3d646f636b6572266c6f676f3d646f636b6572" alt="Docker Hub"&gt;&lt;/a&gt; &lt;a href="https://hub.docker.com/r/champabpmn/camunda-health-monitor" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/096d57284f1e6fbdd0c28f47d74ebeca87d463cab3ef26f91215c3bb706ed02f/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6368616d706162706d6e2f63616d756e64612d6865616c74682d6d6f6e69746f72" alt="Docker Pulls"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/066693bae94b6797e3354a50bbd7bd8157a1a6b95c8d082a9ceb3b1a768dc052/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e382532422d626c7565"&gt;&lt;img src="https://camo.githubusercontent.com/066693bae94b6797e3354a50bbd7bd8157a1a6b95c8d082a9ceb3b1a768dc052/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e382532422d626c7565" alt="Python"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/ac6ad833aa2aec1317d5232b70801b13dadbf3d4d0d34bbad63948b071cd6f8e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f666c61736b2d332e302d677265656e"&gt;&lt;img src="https://camo.githubusercontent.com/ac6ad833aa2aec1317d5232b70801b13dadbf3d4d0d34bbad63948b071cd6f8e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f666c61736b2d332e302d677265656e" alt="Flask"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;✅ Verified Compatible With:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/35871949d5052c5d7f008ca2e9cfab97404952873a83223d66d978deb95935cc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f43616d756e64615f372d2545322539432539335f7465737465642d6f72616e67653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438634746306143426b50534a4e4d5449674d6b4d324c6a5134494449674d6941324c6a5134494449674d544a7a4e4334304f4341784d4341784d4341784d4341784d4330304c6a5134494445774c544577557a45334c6a5579494449674d5449674d6e6f6949475a706247773949694e47526a59784d4441694c7a34384c334e325a7a343d"&gt;&lt;img src="https://camo.githubusercontent.com/35871949d5052c5d7f008ca2e9cfab97404952873a83223d66d978deb95935cc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f43616d756e64615f372d2545322539432539335f7465737465642d6f72616e67653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438634746306143426b50534a4e4d5449674d6b4d324c6a5134494449674d6941324c6a5134494449674d544a7a4e4334304f4341784d4341784d4341784d4341784d4330304c6a5134494445774c544577557a45334c6a5579494449674d5449674d6e6f6949475a706247773949694e47526a59784d4441694c7a34384c334e325a7a343d" alt="Camunda 7"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/15b43bd56afa2e7e929907ac42c036cba652fdae53841efc8990955632c9fca1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f70657261746f6e2d2545322539432539335f7465737465642d626c75653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a343859326c795932786c49474e34505349784d69496759336b39496a457949694279505349784d4349675a6d6c7362443069497a41774e30524351794976506a777663335a6e50673d3d"&gt;&lt;img src="https://camo.githubusercontent.com/15b43bd56afa2e7e929907ac42c036cba652fdae53841efc8990955632c9fca1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f70657261746f6e2d2545322539432539335f7465737465642d626c75653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a343859326c795932786c49474e34505349784d69496759336b39496a457949694279505349784d4349675a6d6c7362443069497a41774e30524351794976506a777663335a6e50673d3d" alt="Operaton"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9d889b6fdfbc397d638515f263a26ea87067e81f97cef6e473a7b63b133c9b98/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4349425f536576656e2d2545322539432539335f7465737465642d677265656e3f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438634746306143426b50534a4e4d5449674d6b773049445a574d544a444e4341334c6a5531494463754e5455674d7941784d694179576949675a6d6c7362443069497a49314f5549324e794976506a777663335a6e50673d3d"&gt;&lt;img src="https://camo.githubusercontent.com/9d889b6fdfbc397d638515f263a26ea87067e81f97cef6e473a7b63b133c9b98/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4349425f536576656e2d2545322539432539335f7465737465642d677265656e3f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438634746306143426b50534a4e4d5449674d6b773049445a574d544a444e4341334c6a5531494463754e5455674d7941784d694179576949675a6d6c7362443069497a49314f5549324e794976506a777663335a6e50673d3d" alt="CIB Seven"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/194dca448e2b3e6105f0dfb7ad5040da045b2b7b55bd7ea351cc5805037bfc39/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6578696d656542504d532d2545322539432539335f7465737465642d707572706c653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438636d566a644342345053493049694235505349304969423361575230614430694d5459694947686c6157646f644430694d54596949484a34505349794969426d615778735053496a4f454d314d454a454969382b5043397a646d632b"&gt;&lt;img src="https://camo.githubusercontent.com/194dca448e2b3e6105f0dfb7ad5040da045b2b7b55bd7ea351cc5805037bfc39/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6578696d656542504d532d2545322539432539335f7465737465642d707572706c653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438636d566a644342345053493049694235505349304969423361575230614430694d5459694947686c6157646f644430694d54596949484a34505349794969426d615778735053496a4f454d314d454a454969382b5043397a646d632b" alt="eximeeBPMS"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🎥 Video Demo&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Watch the feature demonstration on YouTube:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/3FImwwJ5IX8" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/0f693fa18123e60ed88b412b55e956042dd83f7c853cc9b206e2f5d3e77ef39a/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f3346496d77774a354958382f302e6a7067" alt="Camunda Health Monitor Demo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/3FImwwJ5IX8" rel="nofollow noopener noreferrer"&gt;▶️ Watch Demo: Champa Camunda 7 Health Monitor&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;📸 Screenshots&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Full Dashboard View&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/dashboard-full.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fdashboard-full.png" alt="Dashboard Overview"&gt;&lt;/a&gt;
&lt;em&gt;Real-time cluster monitoring with comprehensive metrics&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/ai_camunda_monitoring_health.jpeg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fai_camunda_monitoring_health.jpeg" alt="AI/ML Analytics Overview"&gt;&lt;/a&gt;
&lt;em&gt;AI/ML Analysis Health &amp;amp; Performance Tab&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/camunda_health_monitor_incidents_intelligence.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fcamunda_health_monitor_incidents_intelligence.png" alt="AI/ML Analytics Issues"&gt;&lt;/a&gt;
&lt;em&gt;AI/ML Analysis Issues &amp;amp; Alerts Tab&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/ai_camunda_monitoring_modal.jpg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fai_camunda_monitoring_modal.jpg" alt="AI/ML Analytics Modal"&gt;&lt;/a&gt;
&lt;em&gt;AI/ML Analysis Modal Example&lt;/em&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Light Theme&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/dashboard-light.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fdashboard-light.png" alt="Light Theme"&gt;&lt;/a&gt;
&lt;em&gt;Clean, professional light mode interface&lt;/em&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Node Status Monitoring&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/node-down.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fnode-down.png" alt="Node Down Example"&gt;&lt;/a&gt;
&lt;em&gt;Immediate visual feedback when nodes become unavailable&lt;/em&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Quick Start with Docker&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a href="https://hub.docker.com/r/champabpmn/camunda-health-monitor" rel="nofollow noopener noreferrer"&gt;https://hub.docker.com/r/champabpmn/camunda-health-monitor&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a &lt;code&gt;.env&lt;/code&gt; file with your configuration (example for Camunda 2 nodes cluster):&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Database Configuration (PostgreSQL)&lt;/span&gt;
DB_NAME=PUT_YOUR_CAMUNDA_DB_NAME_HERE
DB_USER=PUT_YOUR_CAMUNDA_DB_USERNAME_HERE
DB_PASSWORD=PUT_YOUR_CAMUNDA_DB_PASS_HERE
DB_HOST=PUT_YOUR_CAMUNDA_DB_HOSTNAME_OR_IP_ADDRESS_HERE
DB_PORT=5432
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Camunda Node 1 (Required)&lt;/span&gt;
CAMUNDA_NODE_1_NAME=node1
CAMUNDA_NODE_1_URL=http://PUT_YOUR_CAMUNDA_BPM_1_NODE_HOST_HERE/engine-rest

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Camunda Node 2 (Optional)&lt;/span&gt;
CAMUNDA_NODE_2_NAME=node2
CAMUNDA_NODE_2_URL=http://PUT_YOUR_CAMUNDA_BPM_2_NODE_HOST_HERE/engine-rest

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Camunda Node 3 (Optional)&lt;/span&gt;
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/bibacrm/camunda-health-monitor" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;







&lt;p&gt;⭐ &lt;strong&gt;Star the repo&lt;/strong&gt; if you find it useful!&lt;br&gt;&lt;br&gt;
🔔 &lt;strong&gt;Follow &lt;a href="https://www.linkedin.com/company/champa-intelligence/" rel="noopener noreferrer"&gt;Champa Intelligence&lt;/a&gt;&lt;/strong&gt; for updates&lt;br&gt;&lt;br&gt;
💬 &lt;strong&gt;Share your monitoring war stories&lt;/strong&gt; in the comments&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Building better monitoring tools, one incident at a time.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>camunda</category>
      <category>monitoring</category>
      <category>opensource</category>
      <category>devops</category>
    </item>
    <item>
      <title>Building a Lightweight Camunda Monitoring Dashboard: From Enterprise Pain to Open Source Solution</title>
      <dc:creator>Dmitriy Champa</dc:creator>
      <pubDate>Sun, 09 Nov 2025 14:51:47 +0000</pubDate>
      <link>https://forem.com/dmitriy_champa_d458cfc7/building-a-lightweight-camunda-monitoring-dashboard-from-enterprise-pain-to-open-source-solution-2ik4</link>
      <guid>https://forem.com/dmitriy_champa_d458cfc7/building-a-lightweight-camunda-monitoring-dashboard-from-enterprise-pain-to-open-source-solution-2ik4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;"You can't improve what you can't measure." - Peter Drucker&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🎥 Video Demo
&lt;/h2&gt;

&lt;p&gt;Want to see it in action before installing? Watch the feature demonstration on YouTube:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;▶️ Watch Demo: Champa Camunda 7 Health Monitor&lt;/strong&gt;&lt;br&gt;


  &lt;iframe src="https://www.youtube.com/embed/0FZnLlUSzg8"&gt;
  &lt;/iframe&gt;


&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The video shows our enterprise version, but the open-source version includes about 70% of the same features. Core monitoring capabilities are identical - the enterprise version adds multi-tenancy, advanced alerting, and SSO integration.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Story
&lt;/h2&gt;

&lt;p&gt;Last year, our production Camunda clusters started showing strange behavior. Process instances were stuck. Job executors were falling behind. Incidents were piling up. But our monitoring dashboards? They showed everything was "green." 🟢 or just "no data to show"&lt;/p&gt;

&lt;h2&gt;
  
  
  😤 The Problem: Why Monitoring Camunda is Frustrating
&lt;/h2&gt;

&lt;p&gt;I've been working with Camunda 7 for years, and monitoring has always been the painful part. Not because monitoring tools don't exist - quite the opposite. I've tried them all:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Datadog&lt;/strong&gt; - Great for infrastructure, expensive, doesn't understand workflow engines&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grafana + Prometheus&lt;/strong&gt; - Powerful but requires extensive configuration for Camunda-specific metrics&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Promtail + Loki&lt;/strong&gt; - Built custom log parsing pipelines, spent more time maintaining them than using them&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ELK Stack&lt;/strong&gt; - Overkill for operational monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each solution had the same problems:&lt;/p&gt;

&lt;h3&gt;
  
  
  ❌ The Pain Points
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Too Heavy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every enterprise monitoring solution feels like bringing a sledgehammer to hang a picture frame. I just want to know if my Camunda cluster is healthy - I don't need distributed tracing across 47 microservices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Multiple Tools, Multiple Headaches&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Configure Prometheus exporters&lt;/li&gt;
&lt;li&gt;Maintain Grafana dashboards&lt;/li&gt;
&lt;li&gt;Set up log shippers&lt;/li&gt;
&lt;li&gt;Keep everything in sync&lt;/li&gt;
&lt;li&gt;Debug why Node 3's metrics stopped flowing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Generic Metrics ≠ Operational Insights&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sure, I can see that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ CPU usage is at 45%&lt;/li&gt;
&lt;li&gt;✅ Memory usage looks fine&lt;/li&gt;
&lt;li&gt;✅ Database connections are healthy&lt;/li&gt;
&lt;li&gt;✅ HTTP response times are normal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But what I &lt;em&gt;actually&lt;/em&gt; need to know at 3 AM when getting paged:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❓ &lt;strong&gt;Why are 1,200 process instances stuck for 7+ days?&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;❓ &lt;strong&gt;Which node is rejecting 80% of job acquisitions?&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;❓ &lt;strong&gt;Are message correlations timing out?&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;❓ &lt;strong&gt;Is job executor throughput dropping node by node?&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;❓ &lt;strong&gt;Which process definitions are consuming the most resources?&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Configuration Hell&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Want to monitor job executor metrics per node? Here's your 200-line Prometheus query. Want to track stuck instances? Write a custom exporter. Want it to look presentable? Build 15 Grafana panels processing data from several sources.&lt;/p&gt;

&lt;h3&gt;
  
  
  💡 The Realization
&lt;/h3&gt;

&lt;p&gt;After years of fighting with enterprise monitoring stacks, I realized: &lt;strong&gt;I don't need a monitoring platform. I need a Camunda health dashboard.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One tool. One configuration file. One dashboard. That's it.&lt;/p&gt;

&lt;p&gt;So I built it.&lt;/p&gt;

&lt;h2&gt;
  
  
  🏗️ Building a Better Way
&lt;/h2&gt;

&lt;p&gt;The requirements were simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Must Have:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Real-time visibility into ALL Camunda nodes in the cluster&lt;/li&gt;
&lt;li&gt;Process execution metrics (instances, tasks, jobs, incidents)&lt;/li&gt;
&lt;li&gt;Per-node health and workload distribution&lt;/li&gt;
&lt;li&gt;JVM metrics integrated with Camunda context&lt;/li&gt;
&lt;li&gt;Database performance insights&lt;/li&gt;
&lt;li&gt;Alerting capabilities&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Technical Constraints:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lightweight (can't add another heavyweight monitoring stack)&lt;/li&gt;
&lt;li&gt;Read-only access (security requirement)&lt;/li&gt;
&lt;li&gt;No Camunda code changes (we don't control deployments)&lt;/li&gt;
&lt;li&gt;Works with PostgreSQL (our DB of choice)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🛠️ The Technical Stack
&lt;/h2&gt;

&lt;p&gt;After evaluating options, I chose simplicity over sophistication:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Flask&lt;/strong&gt; - Lightweight Python web framework (no blueprints, single file to start)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;psycopg2&lt;/strong&gt; - Direct PostgreSQL access for database metrics&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;requests&lt;/strong&gt; - Camunda REST API integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Frontend:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Alpine.js&lt;/strong&gt; - Minimal reactive framework (15KB!)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS&lt;/strong&gt; - Utility-first styling (CDN version, no build step)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chart.js&lt;/strong&gt; - Clean visualizations&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🤔 "Wait, This Looks Too Simple..."
&lt;/h3&gt;

&lt;p&gt;You're right. This architecture is &lt;strong&gt;intentionally simplified&lt;/strong&gt; for the open-source version. Here's why:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's NOT here (that would be in a commercial product):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;❌ Tailwind build pipeline with purging and optimization&lt;/li&gt;
&lt;li&gt;❌ Asset bundling and minification&lt;/li&gt;
&lt;li&gt;❌ Comprehensive test suite with 80%+ coverage&lt;/li&gt;
&lt;li&gt;❌ Database migrations framework&lt;/li&gt;
&lt;li&gt;❌ Advanced caching strategies&lt;/li&gt;
&lt;li&gt;❌ Multi-tenancy support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why This Simplified Approach?&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Lower barrier to contribution&lt;/strong&gt; - Any Python developer can read and modify the code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Faster deployment&lt;/strong&gt; - No build steps, just run it&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Good enough for most use cases&lt;/strong&gt; - Monitoring 3-10 Camunda nodes? This works great.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  📊 The Trade-offs
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Aspect&lt;/th&gt;
&lt;th&gt;Simplified (Current)&lt;/th&gt;
&lt;th&gt;Production-Grade&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Setup time&lt;/td&gt;
&lt;td&gt;5 minutes&lt;/td&gt;
&lt;td&gt;30+ minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code complexity&lt;/td&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;Medium-High&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maintainability&lt;/td&gt;
&lt;td&gt;Good for small teams&lt;/td&gt;
&lt;td&gt;Better for large teams&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Performance&lt;/td&gt;
&lt;td&gt;Great for &amp;lt;10 nodes&lt;/td&gt;
&lt;td&gt;Optimized for 50+ nodes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Customization&lt;/td&gt;
&lt;td&gt;Easy to hack&lt;/td&gt;
&lt;td&gt;Structured extension points&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;The Philosophy:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
This is a monitoring tool, not a SaaS platform. It should be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Deployable in minutes&lt;/strong&gt; - Not hours of setup&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Understandable by any developer&lt;/strong&gt; - Not requiring framework expertise
&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Hackable&lt;/strong&gt; - Easy to add your custom metrics&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Lightweight&lt;/strong&gt; - Runs on a t2.micro if needed&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  💡 "Can I Use This in Production?"
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; Yes, Apache 2.0 on board.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Long answer:&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
We've been running a more sophisticated version internally for over a year. This open-source version strips away our company-specific customizations but retains the core monitoring capabilities.&lt;/p&gt;

&lt;p&gt;For production use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Small-to-medium deployments&lt;/strong&gt; (1-4 nodes): Use as-is&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;Large deployments&lt;/strong&gt; (5+ nodes): Consider adding caching, load balancing&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;High-security environments&lt;/strong&gt;: Review the security section, add authentication layer&lt;/li&gt;
&lt;li&gt;⚠️ &lt;strong&gt;Mission-critical monitoring&lt;/strong&gt;: Run redundantly, export to Prometheus for historical data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why These Choices Matter:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Total footprint &amp;lt; 500KB&lt;/strong&gt; (excluding Python dependencies)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Startup time &amp;lt; 5 seconds&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memory footprint &amp;lt; 100MB&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No build step&lt;/strong&gt; - deploy and run
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Compare this to a typical Grafana + Prometheus + Exporters setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installation: 1-2 hours&lt;/li&gt;
&lt;li&gt;Configuration: 2-4 hours
&lt;/li&gt;
&lt;li&gt;Memory: 500MB - 2GB&lt;/li&gt;
&lt;li&gt;Maintenance: Ongoing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For Camunda-specific monitoring, the lightweight approach wins.&lt;/p&gt;
&lt;h2&gt;
  
  
  📊 What We Monitor
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Cluster Overview
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Total Nodes: 3
Running Nodes: 3 ✅
Engine Version: 7.21.0
Response Time: 350ms avg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  2. Process Execution Metrics
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Active process instances&lt;/li&gt;
&lt;li&gt;User tasks awaiting action&lt;/li&gt;
&lt;li&gt;External tasks in queue&lt;/li&gt;
&lt;li&gt;Open incidents (by type)&lt;/li&gt;
&lt;li&gt;Stuck instances (configurable threshold)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  3. Job Executor Health
&lt;/h3&gt;

&lt;p&gt;This is where it gets interesting. Per-node metrics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Job acquisition rate (success/rejection ratio)&lt;/li&gt;
&lt;li&gt;Job execution throughput (jobs/minute)&lt;/li&gt;
&lt;li&gt;Failed jobs (no retries remaining)&lt;/li&gt;
&lt;li&gt;Executable jobs in queue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Why This Matters:&lt;/strong&gt; If Node 2 is rejecting 80% of job acquisitions while Nodes 1 and 3 are fine, you've found your problem.&lt;/p&gt;
&lt;h3&gt;
  
  
  4. JVM Deep Dive
&lt;/h3&gt;

&lt;p&gt;Integration with Prometheus JMX Exporter(or Micrometer) gives us:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Heap utilization per node&lt;/li&gt;
&lt;li&gt;GC pause times&lt;/li&gt;
&lt;li&gt;Thread counts (daemon vs non-daemon)&lt;/li&gt;
&lt;li&gt;CPU load per node&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  5. Database Analytics
&lt;/h3&gt;

&lt;p&gt;Direct PostgreSQL queries reveal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Storage usage by Camunda table&lt;/li&gt;
&lt;li&gt;Slow query identification&lt;/li&gt;
&lt;li&gt;Archivable instances (completed processes)&lt;/li&gt;
&lt;li&gt;Connection pool utilization&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  🎯 The Architecture
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌─────────────────┐
│   Web Browser   │
│   (Dashboard)   │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  Flask Backend  │
│                 │
│  • REST APIs    │
│  • Metrics Agg  │
│  • Prometheus   │
└────┬─────┬──────┘
     │     │
     │     └─────────────┐
     ▼                   ▼
┌─────────────┐   ┌──────────────┐
│  Camunda    │   │  PostgreSQL  │
│  REST API   │   │   Database   │
│             │   │              │
│  Node 1     │   │ • ACT_* tbl  │
│  Node 2     │   │ • Metrics    │
│  Node 3     │   │ • Analytics  │
└─────────────┘   └──────────────┘
         │
         ▼
┌─────────────────┐
│  JMX Exporter   │
│  (per node)     │
└─────────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  💡 Key Design Decisions
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Lazy Loading
&lt;/h3&gt;

&lt;p&gt;Dashboard loads in &amp;lt; 1 second. Metric cards load on-demand as you scroll.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Alpine.js lazy loading&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;{ loaded: false }&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; 
     &lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;intersect&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;loaded = true&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;template&lt;/span&gt; &lt;span class="nx"&gt;x&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;loaded&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="c"&gt;&amp;lt;!--&lt;/span&gt; &lt;span class="nx"&gt;Load&lt;/span&gt; &lt;span class="nx"&gt;expensive&lt;/span&gt; &lt;span class="nx"&gt;metrics&lt;/span&gt; &lt;span class="o"&gt;--&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/template&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  2. No Browser Storage
&lt;/h3&gt;

&lt;p&gt;Critical learning: localStorage/sessionStorage aren't available in all deployment contexts. Everything stays in memory or calls the backend.&lt;/p&gt;
&lt;h3&gt;
  
  
  3. Read-Only Database Access
&lt;/h3&gt;

&lt;p&gt;We query Camunda's tables directly but ONLY with &lt;code&gt;SELECT&lt;/code&gt; statements. The DB user should have zero write permissions.&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="c1"&gt;-- Example: Find stuck instances&lt;/span&gt;
&lt;span class="k"&gt;SELECT&lt;/span&gt; &lt;span class="k"&gt;COUNT&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; 
&lt;span class="k"&gt;FROM&lt;/span&gt; &lt;span class="n"&gt;ACT_RU_EXECUTION&lt;/span&gt; 
&lt;span class="k"&gt;WHERE&lt;/span&gt; &lt;span class="n"&gt;START_TIME_&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;NOW&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;INTERVAL&lt;/span&gt; &lt;span class="s1"&gt;'7 days'&lt;/span&gt;
&lt;span class="k"&gt;AND&lt;/span&gt; &lt;span class="n"&gt;END_TIME_&lt;/span&gt; &lt;span class="k"&gt;IS&lt;/span&gt; &lt;span class="k"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  4. Prometheus Integration
&lt;/h3&gt;

&lt;p&gt;Export metrics in Prometheus format for Grafana dashboards:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="nd"&gt;@app.route&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;/metrics&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;prometheus_metrics&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;metrics&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;camunda_active_instances &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;get_active_count&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;camunda_open_incidents &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;get_incident_count&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;camunda_node_status{{node=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;}} &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
    &lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;metrics&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h2&gt;
  
  
  🚀 From Internal to Open Source
&lt;/h2&gt;

&lt;p&gt;After running this successfully in production and development of an enterprise level solution, I realized other Camunda users face the same challenges. So I created a &lt;strong&gt;lightweight, open-source version&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Changed for Open Source:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Removed proprietary business logic&lt;/li&gt;
&lt;li&gt;✅ Added comprehensive documentation&lt;/li&gt;
&lt;li&gt;✅ Docker support + docker-compose&lt;/li&gt;
&lt;li&gt;✅ Configuration via environment variables&lt;/li&gt;
&lt;li&gt;✅ Dark mode (because developers love dark mode 🌙 and my eyes also :) )&lt;/li&gt;
&lt;li&gt;✅ Responsive design for mobile monitoring&lt;/li&gt;
&lt;li&gt;✅ Removed extra security features and user management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What Stayed the Same:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Core monitoring capabilities&lt;/li&gt;
&lt;li&gt;✅ Lightweight architecture&lt;/li&gt;
&lt;li&gt;✅ Production-ready code&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  📦 Try It Yourself
&lt;/h2&gt;

&lt;p&gt;Quick start in under 5 minutes:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/bibacrm/camunda-health-monitor.git
&lt;span class="nb"&gt;cd &lt;/span&gt;camunda-health-monitor

&lt;span class="c"&gt;# Configure your Camunda nodes&lt;/span&gt;
&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env
nano .env  &lt;span class="c"&gt;# Add your Camunda URLs&lt;/span&gt;

&lt;span class="c"&gt;# Install and run&lt;/span&gt;
pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
python app.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Visit &lt;code&gt;http://localhost:5000&lt;/code&gt; and you're monitoring!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docker enthusiasts?&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker-compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;

&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/bibacrm" rel="noopener noreferrer"&gt;
        bibacrm
      &lt;/a&gt; / &lt;a href="https://github.com/bibacrm/camunda-health-monitor" rel="noopener noreferrer"&gt;
        camunda-health-monitor
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Lightweight monitoring dashboard for Camunda 7 clusters with real-time metrics, JVM health tracking, and database analytics. Built with Flask, Alpine.js, and Tailwind CSS.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Camunda Health Monitor &amp;amp; Advanced AI/ML Analytics&lt;/h1&gt;
&lt;/div&gt;

&lt;p&gt;A lightweight, real-time monitoring dashboard for Camunda 7 based BPM Platform clusters. Monitor your process engines, track performance metrics, and gain insights into your workflow automation with a modern, responsive interface.&lt;/p&gt;

&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/b29de0acdfd19013f1f02689b15c933e4a6c145be9efa718288f88ba3280b1c5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d417061636865253230322e302d626c75652e737667"&gt;&lt;img src="https://camo.githubusercontent.com/b29de0acdfd19013f1f02689b15c933e4a6c145be9efa718288f88ba3280b1c5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d417061636865253230322e302d626c75652e737667" alt="License"&gt;&lt;/a&gt;
&lt;a href="https://hub.docker.com/r/champabpmn/camunda-health-monitor" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/54709e1efd9e78d3223bcf5b4746e72729b805ceab85d59d39256cf1a3e46f2d/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f762f6368616d706162706d6e2f63616d756e64612d6865616c74682d6d6f6e69746f723f6c6162656c3d646f636b6572266c6f676f3d646f636b6572" alt="Docker Hub"&gt;&lt;/a&gt; &lt;a href="https://hub.docker.com/r/champabpmn/camunda-health-monitor" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/096d57284f1e6fbdd0c28f47d74ebeca87d463cab3ef26f91215c3bb706ed02f/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f70756c6c732f6368616d706162706d6e2f63616d756e64612d6865616c74682d6d6f6e69746f72" alt="Docker Pulls"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/066693bae94b6797e3354a50bbd7bd8157a1a6b95c8d082a9ceb3b1a768dc052/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e382532422d626c7565"&gt;&lt;img src="https://camo.githubusercontent.com/066693bae94b6797e3354a50bbd7bd8157a1a6b95c8d082a9ceb3b1a768dc052/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f707974686f6e2d332e382532422d626c7565" alt="Python"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/ac6ad833aa2aec1317d5232b70801b13dadbf3d4d0d34bbad63948b071cd6f8e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f666c61736b2d332e302d677265656e"&gt;&lt;img src="https://camo.githubusercontent.com/ac6ad833aa2aec1317d5232b70801b13dadbf3d4d0d34bbad63948b071cd6f8e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f666c61736b2d332e302d677265656e" alt="Flask"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;✅ Verified Compatible With:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/35871949d5052c5d7f008ca2e9cfab97404952873a83223d66d978deb95935cc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f43616d756e64615f372d2545322539432539335f7465737465642d6f72616e67653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438634746306143426b50534a4e4d5449674d6b4d324c6a5134494449674d6941324c6a5134494449674d544a7a4e4334304f4341784d4341784d4341784d4341784d4330304c6a5134494445774c544577557a45334c6a5579494449674d5449674d6e6f6949475a706247773949694e47526a59784d4441694c7a34384c334e325a7a343d"&gt;&lt;img src="https://camo.githubusercontent.com/35871949d5052c5d7f008ca2e9cfab97404952873a83223d66d978deb95935cc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f43616d756e64615f372d2545322539432539335f7465737465642d6f72616e67653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438634746306143426b50534a4e4d5449674d6b4d324c6a5134494449674d6941324c6a5134494449674d544a7a4e4334304f4341784d4341784d4341784d4341784d4330304c6a5134494445774c544577557a45334c6a5579494449674d5449674d6e6f6949475a706247773949694e47526a59784d4441694c7a34384c334e325a7a343d" alt="Camunda 7"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/15b43bd56afa2e7e929907ac42c036cba652fdae53841efc8990955632c9fca1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f70657261746f6e2d2545322539432539335f7465737465642d626c75653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a343859326c795932786c49474e34505349784d69496759336b39496a457949694279505349784d4349675a6d6c7362443069497a41774e30524351794976506a777663335a6e50673d3d"&gt;&lt;img src="https://camo.githubusercontent.com/15b43bd56afa2e7e929907ac42c036cba652fdae53841efc8990955632c9fca1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4f70657261746f6e2d2545322539432539335f7465737465642d626c75653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a343859326c795932786c49474e34505349784d69496759336b39496a457949694279505349784d4349675a6d6c7362443069497a41774e30524351794976506a777663335a6e50673d3d" alt="Operaton"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/9d889b6fdfbc397d638515f263a26ea87067e81f97cef6e473a7b63b133c9b98/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4349425f536576656e2d2545322539432539335f7465737465642d677265656e3f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438634746306143426b50534a4e4d5449674d6b773049445a574d544a444e4341334c6a5531494463754e5455674d7941784d694179576949675a6d6c7362443069497a49314f5549324e794976506a777663335a6e50673d3d"&gt;&lt;img src="https://camo.githubusercontent.com/9d889b6fdfbc397d638515f263a26ea87067e81f97cef6e473a7b63b133c9b98/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4349425f536576656e2d2545322539432539335f7465737465642d677265656e3f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438634746306143426b50534a4e4d5449674d6b773049445a574d544a444e4341334c6a5531494463754e5455674d7941784d694179576949675a6d6c7362443069497a49314f5549324e794976506a777663335a6e50673d3d" alt="CIB Seven"&gt;&lt;/a&gt;
&lt;a rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/194dca448e2b3e6105f0dfb7ad5040da045b2b7b55bd7ea351cc5805037bfc39/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6578696d656542504d532d2545322539432539335f7465737465642d707572706c653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438636d566a644342345053493049694235505349304969423361575230614430694d5459694947686c6157646f644430694d54596949484a34505349794969426d615778735053496a4f454d314d454a454969382b5043397a646d632b"&gt;&lt;img src="https://camo.githubusercontent.com/194dca448e2b3e6105f0dfb7ad5040da045b2b7b55bd7ea351cc5805037bfc39/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6578696d656542504d532d2545322539432539335f7465737465642d707572706c653f6c6f676f3d646174613a696d6167652f7376672b786d6c3b6261736536342c50484e325a79423361575230614430694d6a51694947686c6157646f644430694d6a516949485a705a58644362336739496a41674d4341794e4341794e4349675a6d6c7362443069626d39755a53496765473173626e4d39496d6830644841364c79393364336375647a4d7562334a6e4c7a49774d44417663335a6e496a3438636d566a644342345053493049694235505349304969423361575230614430694d5459694947686c6157646f644430694d54596949484a34505349794969426d615778735053496a4f454d314d454a454969382b5043397a646d632b" alt="eximeeBPMS"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🎥 Video Demo&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Watch the feature demonstration on YouTube:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/3FImwwJ5IX8" rel="nofollow noopener noreferrer"&gt;&lt;img src="https://camo.githubusercontent.com/0f693fa18123e60ed88b412b55e956042dd83f7c853cc9b206e2f5d3e77ef39a/68747470733a2f2f696d672e796f75747562652e636f6d2f76692f3346496d77774a354958382f302e6a7067" alt="Camunda Health Monitor Demo"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://youtu.be/3FImwwJ5IX8" rel="nofollow noopener noreferrer"&gt;▶️ Watch Demo: Champa Camunda 7 Health Monitor&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;📸 Screenshots&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Full Dashboard View&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/dashboard-full.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fdashboard-full.png" alt="Dashboard Overview"&gt;&lt;/a&gt;
&lt;em&gt;Real-time cluster monitoring with comprehensive metrics&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/ai_camunda_monitoring_health.jpeg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fai_camunda_monitoring_health.jpeg" alt="AI/ML Analytics Overview"&gt;&lt;/a&gt;
&lt;em&gt;AI/ML Analysis Health &amp;amp; Performance Tab&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/camunda_health_monitor_incidents_intelligence.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fcamunda_health_monitor_incidents_intelligence.png" alt="AI/ML Analytics Issues"&gt;&lt;/a&gt;
&lt;em&gt;AI/ML Analysis Issues &amp;amp; Alerts Tab&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/ai_camunda_monitoring_modal.jpg"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fai_camunda_monitoring_modal.jpg" alt="AI/ML Analytics Modal"&gt;&lt;/a&gt;
&lt;em&gt;AI/ML Analysis Modal Example&lt;/em&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Light Theme&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/dashboard-light.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fdashboard-light.png" alt="Light Theme"&gt;&lt;/a&gt;
&lt;em&gt;Clean, professional light mode interface&lt;/em&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Node Status Monitoring&lt;/h3&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/bibacrm/camunda-health-monitor/docs/images/node-down.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Fbibacrm%2Fcamunda-health-monitor%2Fdocs%2Fimages%2Fnode-down.png" alt="Node Down Example"&gt;&lt;/a&gt;
&lt;em&gt;Immediate visual feedback when nodes become unavailable&lt;/em&gt;&lt;/p&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Quick Start with Docker&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;&lt;a href="https://hub.docker.com/r/champabpmn/camunda-health-monitor" rel="nofollow noopener noreferrer"&gt;https://hub.docker.com/r/champabpmn/camunda-health-monitor&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a &lt;code&gt;.env&lt;/code&gt; file with your configuration (example for Camunda 2 nodes cluster):&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Database Configuration (PostgreSQL)&lt;/span&gt;
DB_NAME=PUT_YOUR_CAMUNDA_DB_NAME_HERE
DB_USER=PUT_YOUR_CAMUNDA_DB_USERNAME_HERE
DB_PASSWORD=PUT_YOUR_CAMUNDA_DB_PASS_HERE
DB_HOST=PUT_YOUR_CAMUNDA_DB_HOSTNAME_OR_IP_ADDRESS_HERE
DB_PORT=5432
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Camunda Node 1 (Required)&lt;/span&gt;
CAMUNDA_NODE_1_NAME=node1
CAMUNDA_NODE_1_URL=http://PUT_YOUR_CAMUNDA_BPM_1_NODE_HOST_HERE/engine-rest

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Camunda Node 2 (Optional)&lt;/span&gt;
CAMUNDA_NODE_2_NAME=node2
CAMUNDA_NODE_2_URL=http://PUT_YOUR_CAMUNDA_BPM_2_NODE_HOST_HERE/engine-rest

&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Camunda Node 3 (Optional)&lt;/span&gt;
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/bibacrm/camunda-health-monitor" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;




&lt;h2&gt;
  
  
  🎓 Lessons Learned
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Specific &amp;gt; Generic
&lt;/h3&gt;

&lt;p&gt;Domain-specific monitoring beats generic APM for operational insights.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Lightweight Wins
&lt;/h3&gt;

&lt;p&gt;You don't need React + Redux + TypeScript for a monitoring dashboard. Alpine.js + Tailwind is often enough.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Direct Database Access is Powerful
&lt;/h3&gt;

&lt;p&gt;When used responsibly (read-only!), querying Camunda tables directly gives you insights no API can provide. The right way is to use Camunda DB read-only replica on Production/Staging environments!&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Start Internal, Go Open Source
&lt;/h3&gt;

&lt;p&gt;Building for your own needs first ensures you solve real problems. Open-sourcing second ensures quality.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Simplify the Architecture
&lt;/h3&gt;

&lt;p&gt;Lower barriers to contribution = more community engagement. Atomic Flask blueprints and build pipelines can come later.&lt;/p&gt;

&lt;h2&gt;
  
  
  💬 The "Enterprise vs. Open Source" Balance
&lt;/h2&gt;

&lt;p&gt;I wrestled with how much to include in the open-source version. Too simple = not useful. Too complex = hard to contribute to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I landed on:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Core monitoring features = 100% open source&lt;/li&gt;
&lt;li&gt;Advanced features (multi-tenancy, SSO, custom alerting pipelines) = Enterprise version&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This lets the community benefit from solid monitoring while leaving room for commercial sustainability.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌟 Check It Out
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/bibacrm/camunda-health-monitor" rel="noopener noreferrer"&gt;https://github.com/bibacrm/camunda-health-monitor&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're running Camunda 7 in production, give it a try! I'd love to hear:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What works well?&lt;/li&gt;
&lt;li&gt;What's missing?&lt;/li&gt;
&lt;li&gt;What would make this indispensable for your team?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⭐ &lt;strong&gt;Star the repo&lt;/strong&gt; if you find it useful!&lt;br&gt;&lt;br&gt;
💬 &lt;strong&gt;Drop a comment&lt;/strong&gt; with your Camunda monitoring challenges&lt;br&gt;&lt;br&gt;
🔧 &lt;strong&gt;Contribute&lt;/strong&gt; if you'd like to add features&lt;/p&gt;




&lt;h2&gt;
  
  
  💬 Discussion Questions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What monitoring challenges do you face with Camunda or other workflow engines?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Have you found a monitoring setup that actually works? What's your current pain point?&lt;/p&gt;

&lt;p&gt;Drop a comment below - I read and respond to every one!&lt;/p&gt;

&lt;p&gt;Thinking about sharing BPMN/DMN Linter web based solution(bpmn.io based) as open-source. May it be interesting for the community?&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Building better monitoring tools, one metric at a time. Follow me for more deep-dives into DevOps, BPM, and open-source development.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>camunda</category>
      <category>devops</category>
      <category>monitoring</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
