How can be runtime monitoring be done on Node Red?

I have multiple workflows created in the Node-Red window. But how can the execution of multiple workflows be monitored? That is runtime monitoring? Currently while developing I can check to go to each workflow separately and testing in debug window. But when I have hundreds of workflows running how can I monitor them together in runtime? Is it possible? If yes please let me know. Thanks.

What exactly do you want to monitor?

You could integrate simple runtime monitoring into each flow which records things like last execution time, last message, etc..., and manage this data in the global context. You would need some unique flow id for each monitoring location though. I would pack that logic into a reusable subflow.

For visualization of that data the Node-RED Dashboard can come in handy.

I am a beginner to Node Red. I am creating some workflows. After that if I need to monitor each of those workflows at the same time. How should I proceed? How can I know the last execution time, last message, last process etc for all the workflows at the same interface and same time? How can I develop this?

How can I have unique Id for that? Can you explain the whole process to me? It will be really helpful

That's what you have to put in your "monitoring" subflow. What exactly do you want to monitor? How are your flows triggered?

E.g. the "workflow id" could be automatically determined by message properties (like the msg.topic) or set manually to a fixed value.

Without any details about your flows or what you try to monitor, all I can do is making general suggestions. :slightly_smiling_face:

Okay. Currently I have created some work flows as shown here-


As you can see here, There are many workflows in the top bar. And I have opened CSV_SQL work flow. So my question is currently, I need to go to each work flow to check it is working properly, what data it is sending, at what time it has performed any action, are there any errors etc. So, what I want to try is to handle everything of these for all the work flows at a same interface and not by going to each tab separately. This is because, if after some time there are like hundreds of work flows in my NODE RED, it will be very difficult and time consuming to check each flow by clicking on its tab. Thats what I want to say, is how can I monitor these all workflows at the same time, to check which workflow is performing any action, are there any errors, what outputs are being sent for all of them? Did I make it clear about my problem? Please let me know how to proceed.

So basically, you need some kind of logging mechanism?

There is no general solution for that. In some past projects I have used file nodes and catch nodes to log some basic messages and errors into a log file.

So I cannot monitor all the workflows on some same platform at the same time?

Nothing that the Node-RED runtime itself provides out-of-the-box. Apart from more verbose runtime logging and metrics, but that wouldn't help you in this case, I think. It's more for debugging general problems, not logging on user application levels :thinking:
You can play with those settings, of course: https://nodered.org/docs/user-guide/runtime/logging

For user application logging, you'd have to build that into your flows, although you can reduce the effort it takes by making clever use of subflows.

Debug nodes can all write to the one debug window on the right and also to the system log if set to do so. You can then filter either of those.

How to send them to the system log and how can I filer those? Can you give a brief idea?

My assumption was not to use the system log for application related logging.
But using the debug node is valid, of course.
To see the output you have to enable "system console" in each debug node. Where that output is actually logged depends on how you start Node-RED. E.g. with systemd you can use the journalctl command.

1 Like

Hello,
You can use https://flows.nodered.org/node/node-red-contrib-flogger
instead of a debug node. It gives you the possibility to write all the things to a seperate log file of your own

4 Likes

In a project where I needed a log of operations, I used the fantastic node-red-contrib-flogger node

3 Likes

Snap haha :+1:

1 Like

i think i first heard of it from you @Steve-Mcl in a thread a while back. Have been using it ever since if i need some long term persistent logging :smiley:

2 Likes

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.