Skip to main content
The playground includes a complete observability stack that collects and visualizes telemetry data from KrakenD. After starting the services and calling endpoints, you’ll see activity in Grafana, Kibana, and Jaeger.

Grafana - Metrics

Overview

Grafana displays metrics that KrakenD exports to InfluxDB. You can visualize request rates, response times, error rates, and other performance metrics.

Access

  • URL: http://localhost:4000
  • Port: 4000 (mapped from container port 3000)
  • Default Credentials: admin / admin

Data Source

Grafana is pre-configured with InfluxDB as a data source:
  • Database: krakend
  • InfluxDB User: krakend-dev
  • InfluxDB Password: pas5w0rd
Pre-configured dashboards for KrakenD metrics are automatically provisioned from config/grafana/krakend/.

Kibana - Logs

Overview

Kibana visualizes logs that KrakenD sends to Logstash, which stores them in Elasticsearch. You can search, filter, and analyze log entries to debug issues and understand request flows.

Access

Log Pipeline

The logging stack consists of:
  1. KrakenD - Sends logs via GELF to Logstash
  2. Logstash (port 12201/udp, 5044) - Processes and forwards logs
  3. Elasticsearch (port 19200) - Stores log data
  4. Kibana (port 5601) - Visualizes and searches logs

Importing the Dashboard

To import a pre-configured Kibana dashboard with valuable metrics:
make elastic
Run this command after all services have started. The dashboard includes useful visualizations for KrakenD activity.

Elasticsearch Configuration

Elasticsearch runs in single-node mode with security disabled for ease of use:
environment:
  - "discovery.type=single-node"
  - "xpack.security.enabled=false"
  - "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"

Jaeger - Distributed Tracing

Overview

Jaeger shows distributed traces of requests flowing through KrakenD to backend services. You can see the complete request journey, including timing for each hop and service interaction.

Access

  • URL: http://localhost:16686
  • Port: 16686 (UI)
  • Additional Port: 14268 (collector)
  • Credentials: No authentication required

What You Can See

Jaeger traces include:
  • Request path through KrakenD and backends
  • Timing for each service call
  • Parent-child relationships between spans
  • Service dependencies
  • Performance bottlenecks

Using Jaeger

  1. Open http://localhost:16686
  2. Select “krakend” from the Service dropdown
  3. Click “Find Traces”
  4. Click on any trace to see detailed timing information
Jaeger automatically receives traces from KrakenD through OpenTelemetry integration. No additional configuration needed.

Observability Summary

ServicePurposePortCredentials
GrafanaMetrics visualization4000admin / admin
InfluxDBMetrics storage8086See config
KibanaLog visualization5601None
ElasticsearchLog storage19200None
LogstashLog processing12201 (UDP), 5044None
JaegerDistributed tracing16686None
All observability services start automatically with the playground. Make some requests to KrakenD endpoints to generate telemetry data.

Build docs developers (and LLMs) love