El nodo debug puede ver las propiedades del mensaje enviando el mensaje al nodo de depuración.
La barra lateral de depuración muestra los mensajes que se pasan a los nodos de depuración dentro del flujo, así como ciertos mensajes de registro del tiempo de ejecución.
Junto a cada mensaje, la barra lateral de depuración incluye información sobre la hora a la que se recibió el mensaje y qué nodo de depuración lo envió. Al hacer clic en la identificación del nodo de origen, se revelará ese nodo dentro del espacio de trabajo.
El botón en el nodo se puede utilizar para habilitar o deshabilitar su salida. Se recomienda deshabilitar o eliminar los nodos de depuración que no se estén utilizando.
El nodo también se puede configurar para enviar todos los mensajes al registro de tiempo de ejecución o para enviar mensajes cortos (32 caracteres) al texto de estado en el nodo de depuración.
El nodo de depuración puede establecer su estado independientemente de lo que pase a la barra lateral de depuración. Útil si desea depurar un resumen más corto del estado, mientras muestra información más completa en la barra lateral donde hay más espacio. Para ello debe activarse en la configuración del nodo mostrar su estado.
Los mensaje de debug de la barra lateral se pueden borrar y filtrar por:
- Todos los nodos
- Flujo/pestaña actual
- Nodos seleccionados.
De forma predeterminada, la barra lateral debug muestra todos los mensajes que se le pasan. Esto se puede filtrar haciendo clic en el botón para abrir el panel de opciones de filtro.
La barra lateral de depuración solo puede mostrar los 100 mensajes más recientes. Si la barra lateral muestra actualmente una lista filtrada de mensajes, los mensajes ocultos aún cuentan para el límite de 100. Si un flujo tiene nodos de depuración ruidosos, en lugar de filtrarlos desde la barra lateral, puede ser mejor desactivarlos haciendo clic en su botón en el espacio de trabajo.
El botón en el pie de página de la barra lateral se puede utilizar para abrir una ventana separada del navegador que contiene la barra lateral Depurar.
Existen una serie de acciones en bloque sobre los nodos de debug. Pueden verse en Action List (Ctrl/Cmd-Shift-P or View -> Action List) y asignar atajos de teclado a ellos:
- core:activate-selected-debug-nodes
- core:activate-all-debug-nodes
- core:activate-all-flow-debug-nodes
- core:deactivate-selected-debug-nodes
- core:deactivate-all-debug-nodes
- core:deactivate-all-flow-debug-nodes
Nodo para ver el payload que pasa: https://flows.nodered.org/node/node-red-show-value
Más información:
- http://www.steves-internet-guide.com/node-red-message-object/
- https://nodered.org/docs/user-guide/editor/sidebar/debug
- https://nodered.org/docs/user-guide/nodes#debug
- https://projects.raspberrypi.org/en/projects/getting-started-with-node-red/9
- https://www.hardwario.com/academy/learn-to-debug/
Logging en Node-RED
Para ver los logs de node red:
- node-red-log command (se se ha instalado con el script)
- sudo journalctl -f -u nodered -o cat
Logging en Node-RED: https://nodered.org/docs/user-guide/runtime/logging
Node-RED usa un logger que escribe su salida en la consola. También admite el uso de módulos de registro personalizados para permitir que la salida se envíe a otra parte.
El logger de la consola se puede configurar en la propiedad de logging en su archivo de configuración settings.js:
// Configure the logging output
logging: {
// Console logging
console: {
level: "info",
metrics: false,
audit: false
}
}
Hay 3 propiedades que se utilizan para configurar el comportamiento del logger:
- level: Nivel de logging a registrar
- metrics: Cuando se establece en true, el tiempo de ejecución de Node-RED genera información sobre la ejecución del flujo y el uso de la memoria.
- audit: Cuando se establece en verdadero, se registran los eventos de acceso a la API HTTP de administrador. El evento incluye información adicional como el punto final al que se accede, la dirección IP y la marca de tiempo.
También se puede utilizar un módulo de logging personalizado. Por ejemplo, la salida de métricas puede enviarse a un sistema separado para monitorear el desempeño del sistema. Esto luego se puede mandar a un sistema de análisis de log externo como Kibana o Logstash
Más información: https://nodered.org/docs/user-guide/runtime/logging
El log está completamente administrado por journald fuera de node-red. Si está ejecutando en un sistema Linux utilizando el archivo de servicio systemd para ejecutar node-red, la salida se envía a /var/log/syslog.
El log se puede ver con el comando: sudo journalctl -f -u nodered -o cat
Salida de log al inicializar Node-RED:
Start Node-RED
Once Node-RED has started, point a browser at http://127.0.0.1:1880
On Pi Node-RED works better with the Firefox or Chrome browser
Use sudo systemctl enable nodered.service to autostart Node-RED at every boot
Use sudo systemctl disable nodered.service to disable autostart on boot
To find more nodes and example flows - go to http://flows.nodered.org
21 Nov 11:04:58 - [info]
Welcome to Node-RED
===================
21 Nov 11:04:58 - [info] Node-RED version: v1.2.5
21 Nov 11:04:58 - [info] Node.js version: v12.19.1
21 Nov 11:04:58 - [info] Linux 4.18.0-193.28.1.el8_2.x86_64 x64 LE
21 Nov 11:04:59 - [info] Loading palette nodes
node-telegram-bot-api deprecated Automatic enabling of cancellation of promises is deprecated.
In the future, you will have to enable it yourself.
See https://github.com/yagop/node-telegram-bot-api/issues/319. internal/modules/cjs/loader.js:1015:30
21 Nov 11:05:03 - [info] RedBot version: 0.19.7 (node-red-contrib-chatbot)
21 Nov 11:05:09 - [info] Dashboard version 2.23.4 started at /ui
21 Nov 11:05:09 - [info] Settings file : /root/.node-red/settings.js
21 Nov 11:05:09 - [info] Context store : 'memoryOnly' [module=memory]
21 Nov 11:05:09 - [info] Context store : 'file' [module=localfilesystem]
21 Nov 11:05:09 - [info] User directory : /user/.node-red
21 Nov 11:05:09 - [info] Server now running at https://127.0.0.1:1880/
21 Nov 11:05:09 - [info] Active project : Demo_Proyecto
21 Nov 11:05:09 - [info] Flows file : /user/.node-red/projects/Demo_Proyecto/flow.json
21 Nov 11:05:09 - [info] Starting flows
21 Nov 11:05:09 - [info] Started flows
21 Nov 11:05:09 - [info] [mqtt-broker:2ac34a26.7bd096] Connected to broker: mqtt://localhost:1883
Flow Debugger
Node-RED proporciona el nodo de depuración para ayudar al desarrollador a comprender lo que sucede en su flujo. Son herramientas útiles, pero tienen sus límites. Solo puede depurar en los puntos en los que ha agregado un nodo al flujo. Cuando tiene un flujo que involucra múltiples ramas y eventos de tiempo, puede ser difícil ver cómo fluyen los mensajes en cada rama al mismo tiempo.
Flow Debugger permitirá al desarrollador establecer puntos de interrupción a lo largo de su flujo. Cuando un mensaje llega a un punto de interrupción, el tiempo de ejecución se pausará y los mensajes dejarán de fluir. Luego, el desarrollador puede inspeccionar el flujo en diferentes puntos para inspeccionar los mensajes que esperan ser entregados.
Cuando se ejecuta con el depurador habilitado, el usuario podrá visualizar el rendimiento de sus flujos, para ver dónde se está gastando el tiempo o si existen cuellos de botella que podrían optimizarse.
Presentación en el foro de la primera versión de flow debugger: https://discourse.nodered.org/t/node-red-flow-debugger-1-0-0-released/47044
Flow debugger de node-red: