Creating a custom dashboard for n8n using Grafana: My experience

Hey everyone! I wanted to share my first attempt at making a dashboard for n8n. Since clients often ask for this feature in self-hosted setups, I decided to give it a shot using Grafana.

Why Grafana? It’s super popular on GitHub, has tons of built-in connections, a great community with plugins, and it’s free to self-host. Plus, I needed to add Google Analytics data for a client, and Grafana has a GA connector.

I set it up on the same Digital Ocean droplet as my n8n container to keep things simple. Here’s what I’ve done so far:

  1. Connected Grafana to the n8n Postgres database for metrics
  2. Enabled Prometheus metrics in n8n for better logging
  3. Created a workflows list panel with enable/disable options
  4. Made an executions list panel showing execution data
  5. Added a global filter for workflows and status
  6. Included min/max/avg execution times, webhook activity, and RAM/CPU usage

I’m planning to add more performance metrics, set up alerts, and integrate data from other containers like Supabase and OpenWeb UI.

One bummer: I couldn’t figure out how to stop workflow executions from Grafana. Seems there’s no CLI or API option for that in n8n.

What other metrics or features do you think would be useful to add? I’d love to hear your ideas!

I appreciate you sharing your experience with creating a custom dashboard for n8n using Grafana. Your approach seems well-thought-out and addresses a common client request effectively. The decision to use Grafana is logical given its popularity and extensive features.

Your implementation covers crucial aspects of n8n monitoring, from workflow management to performance metrics. The inclusion of Google Analytics data is particularly noteworthy, as it can provide valuable insights into user interaction.

Regarding additional metrics, consider incorporating error rate tracking and workflow dependency mapping. These could offer deeper insights into system health and workflow interconnections. For features, implementing role-based access control might be beneficial, especially for client-facing dashboards.

The limitation on stopping workflow executions from Grafana is unfortunate but understandable given n8n’s current API constraints. Perhaps this could be addressed in future n8n updates.

Overall, your project seems to be a solid foundation for comprehensive n8n monitoring. Keep iterating and sharing your progress with the community.

Fantastic work on setting up that Grafana dashboard for n8n! I’ve been down a similar road and can relate to the challenges. One thing that really helped me was adding a panel for failed workflows and their error messages. It’s been a lifesaver for quick troubleshooting.

Have you considered integrating external service health checks? I found it super useful to have a single pane of glass for n8n and connected services. Maybe pull in status data from your Supabase and OpenWeb UI containers?

For performance, I ended up creating a heatmap of execution times by hour. It helped spot patterns in slow periods and optimize accordingly. Also, tracking queue size over time gave insights into scaling needs.

The Prometheus integration is gold. If you haven’t already, set up some alerting based on those metrics. It’s saved me from many potential client headaches.

Keep up the great work! Dashboards like these are invaluable for managing n8n at scale.

nice work on the grafana dashboard! i’ve been wanting to do something similar. have u thought about adding a panel for tracking failed nodes within workflows? that could be super helpful for pinpointing issues. also, maybe a visualization of workflow dependencies would be cool. keep us updated on ur progress!