Document updated on Oct 25, 2022
Graylog GELF Logging Integration
KrakenD supports sending structured events in GELF format to your Graylog Cluster thanks to the krakend-gelf integration.
The setup of GELF is straightforward and requires to add two components in the configuration:
telemetry/logging
to capture the logstelemetry/gelf
to format the logs
The configuration you need to add is this, and explained below:
{
"extra_config": {
"telemetry/gelf": {
"address": "myGraylogInstance:12201",
"enable_tcp": false
},
"telemetry/logging": {
"level": "INFO",
"prefix": "[KRAKEND]",
"syslog": false,
"stdout": false
}
}
}
The GELF configuration parameters for telemetry/gelf
are:
Fields of GELF
* required fields
address
* string- The address (including the port) of your Graylog cluster (or any other service that receives GELF inputs). E.g.,
myGraylogInstance:12201
enable_tcp
* boolean- Set to false (recommended) to use UDP, or true to use TCP. TCP performance is worst than UDP under heavy load.
In addition, you must also add the telemetry/logging
:
Fields of "telemetry/logging"
* required fields
level
*- What type of reporting level do you expect from the application? Use the
DEBUG
level in the development stages but not in production. Possible values are from more verbose to least.Possible values are:"DEBUG"
,"INFO"
,"WARNING"
,"ERROR"
,"CRITICAL"
prefix
string- Adds the defined string at the beginning of every logged line, so you can quickly filter messages with external tools later on. It’s recommended to always add a prefix
[INSIDE BRACKETS]
to make use of predefined dashboards. stdout
boolean- Set to true to send logs to stdout.Defaults to
false
syslog
boolean- Set to true to send logs to syslog.Defaults to
false