@theotherwillembotha/node-red-loki
v0.0.55
Published
Grafana Loki logger config node for Node-RED. Built on @theotherwillembotha/node-red-plugincore.
Maintainers
Readme
@theotherwillembotha/node-red-loki
Grafana Loki logger config node for Node-RED. Extends the logging infrastructure provided by @theotherwillembotha/node-red-plugincore with a Loki transport, so any node built with the @Logger decorator can ship structured log entries directly to a Loki instance.
Usage in Node-RED
Installation
Either use the Manage Palette option in the Node-RED editor, or run the following command in your Node-RED user directory (typically ~/.node-red):
npm install @theotherwillembotha/node-red-loki[!IMPORTANT] This plugin requires
@theotherwillembotha/node-red-plugincoreto be installed.
node-red-plugincoreis declared as a dependency and npm will install it automatically alongside this package. However, due to a known Node-RED limitation, packages that arrive as transitive npm dependencies are only discovered by the Node-RED runtime on the next startup.You have two options:
- Install
@theotherwillembotha/node-red-plugincorevia the palette manager ornpm installfirst, then install this plugin — both will be available immediately without a restart.- Install this plugin directly —
node-red-plugincorewill be installed automatically alongside it. Restart Node-RED once and both packages will be fully loaded.
Config node
This package adds a single config node: Loki Logger.
The Loki Logger config node appears in the logger selector of any node that uses the @Logger decorator (e.g. the Logger Node from node-red-telemetry, or any custom node built on this framework).
Configuration fields
| Field | Description |
|-------|-------------|
| Name | Optional label for this config node |
| Host | Hostname or IP address of your Loki instance (e.g. loki or 192.168.1.10) |
| Port | Loki HTTP port (default: 3100) |
| Tenant ID | Optional. Set the X-Scope-OrgID header for multi-tenant Loki deployments. Leave blank for single-tenant mode. |
| Level | Minimum log level to ship: Debug, Info, Warning, or Error |
| Template | Handlebars template that shapes each log entry. The default message:{{msg}} passes the raw message through. Customise to include only the fields you need (e.g. {{msg.topic}}: {{msg.payload}}). |
Example
A typical setup for a single-tenant Loki instance running on the same Docker network:
- Host:
loki - Port:
3100 - Tenant ID: (blank)
- Level:
Info - Template:
message:{{msg}}
For multi-tenant deployments, set the Tenant ID to match your Loki organisation ID. The value is sent as the X-Scope-OrgID HTTP header on every push request.
Prerequisites
- Node.js 18+
- Node-RED 3+
- A running Grafana Loki instance reachable from your Node-RED host
Repository
- Source: github.com/theotherwillembotha/nodered_loki
- Issues: github.com/theotherwillembotha/nodered_loki/issues
