Document updated on Sep 15, 2019
Sending out logs, metrics, and traces
The Opencensus exporter is a single component that allows you to export data to multiple providers, both open source and privative.
You will be interested in Opencensus when you want to see data in one of its supported exporters. For instance, you might want to send metrics to Prometheus. That would be as easy as adding this snippet in the root level of your krakend.json file:
{
"version": 3,
"extra_config": {
"telemetry/opencensus": {
"exporters": {
"prometheus": {
"port": 9091,
"namespace": "krakend"
}
}
}
}
}Configuration
The Opencensus needs at least an exporter to work, although multiple exporters can be added in the same configuration. Notice that adding several exporters that push metrics out to multiple systems will affect the performance of the server.
Every exporter has its own configuration and it’s described in its section.
By default, all exporters sample the 100% of the requests received every second, but this can be changed by specifying more configuration:
{
"version": 3,
"extra_config": {
"telemetry/opencensus": {
"sample_rate": 100,
"reporting_period": 1,
"enabled_layers": {
"backend": true,
"router": true,
"pipe": true
},
"exporters": {
"prometheus": {
"port": 9091
}
}
}
}
}sample_rateis the percentage of sampled requests. A value of100means that all requests are exported (100%). If you are processing a huge amount of traffic you might want to sample only a part of what’s going on.reporting_periodis the number of seconds passing between reportsexportersis a key-value with all the exporters you want to use. See each exporter configuration for the underlying keys.enabled_layerslet you specify what data you want to export. All layers are enabled by default:- Use
backendto report the activity between KrakenD and your services - Use
routerto report the activity between end-users and KrakenD - Use
pipeto report the activity at the beginning of the proxy layer. It gives a more detailed view of the internals of the pipe between end-users and KrakenD.
- Use
