SigNoz
Docs
PricingCustomers
Get Started - Free
Docs
IntroductionContributingMigrate from DatadogSigNoz API
OpenTelemetry
What is OpenTelemetryOpenTelemetry Collector GuideOpenTelemetry Demo
Community
Support
Slack
X
Launch Week
Changelog
Dashboard Templates
DevOps Wordle
Newsletter
KubeCon, Atlanta 2025
More
SigNoz vs DatadogSigNoz vs New RelicSigNoz vs GrafanaSigNoz vs Dynatrace
Careers
AboutTermsPrivacySecurity & Compliance
SigNoz - Open Source Datadog Alternative
SigNoz
All systems operational
HIPAASOC-2
  1. ...
  2. Docs
  3. APM & Distributed Tracing
  4. Send Traces and APM Data
  5. Kong Gateway
  6. Kong Gateway Monitoring - Ship Traces and Logs to SigNoz

Kong Gateway Monitoring - Ship Traces and Logs to SigNoz

SigNoz Cloud - This page applies to SigNoz Cloud editions.
Self-Host - This page applies to self-hosted SigNoz editions.

Overview

Kong Gateway is an open-source API gateway that routes and secures traffic to your upstream services. kong-plugin-signoz is a Kong plugin built by SigNoz that ships traces and logs from Kong to SigNoz with minimal configuration.

  • Traces — the plugin delegates trace export to Kong's bundled OpenTelemetry plugin and enriches Kong's root request span before export.
  • Logs — the plugin produces one structured OTLP log record per request and ships it over its own OTLP/HTTP pipeline.

For an alternative setup using only Kong's native OpenTelemetry plugin (Kong Enterprise 3.13+ also adds metrics), see OpenTelemetry Kong Gateway. To compare both approaches, see Kong Gateway Monitoring.

Prerequisites

  • A SigNoz Cloud or Self-Hosted workspace
  • Kong Gateway 3.6+ (open-source or Enterprise)
  • Access to every Kong node's filesystem (to install the plugin's Lua sources)

Setup

Step 1: Install the plugin

Install the plugin's Lua sources on every Kong node via LuaRocks (LuaRocks page):

luarocks install kong-plugin-signoz

For all available config fields, see the configuration reference.

On Kong 3.6 through 3.8, the command above fails with Error: No results matching query were found for Lua 5.1. because the luarocks.org manifest has grown past LuaJIT's 65536-constant bytecode limit on these versions. Install from the direct rockspec URL instead:

luarocks install --server=https://luarocks.org/manifests/signoz kong-plugin-signoz

This URL also works on Kong 3.9+.

For other install routes (custom images, Kubernetes), see Kong's installation and distribution guide.

Step 2: Load the plugin in Kong

Add signoz to the loaded plugins in kong.conf (or via the KONG_PLUGINS environment variable) on every node:

kong.conf
plugins = bundled,signoz

Step 3: Enable Kong's tracer

The plugin enriches Kong's root request span before export, so Kong's tracer must be on. Set in kong.conf (or via environment variables):

kong.conf
tracing_instrumentations = all
tracing_sampling_rate    = 1.0

See Kong's tracing reference for the full list of values. Without these settings, Kong exports no spans. Logs still ship; only traces depend on the tracer.

Restart Kong to pick up both the new plugin and the tracer settings.

Step 4: Enable the plugin

Enable the plugin globally on the gateway via Kong's Admin API:

curl -X POST http://localhost:8001/plugins \
  --data "name=signoz" \
  --data "config.exporter.endpoint=https://ingest.<region>.signoz.cloud:443" \
  --data "config.exporter.key=<your-ingestion-key>" \
  --data "config.resource.service_name=kong" \
  --data "config.resource.deployment_environment=production" \
  --data "config.logs.instrumentations=access"

Verify these values:

  • <region>: Your SigNoz Cloud region
  • <your-ingestion-key>: Your ingestion key
curl -X POST http://localhost:8001/plugins \
  --data "name=signoz" \
  --data "config.exporter.endpoint=http://<your-collector-host>:4318" \
  --data "config.resource.service_name=kong" \
  --data "config.resource.deployment_environment=production" \
  --data "config.logs.instrumentations=access"

Verify this value:

  • <your-collector-host>: Hostname or IP of your SigNoz OTel Collector

Scope the plugin per-service, per-route, or per-consumer using Kong's Admin API. See Kong's Plugin entity docs for scoping syntax.

Step 5: Verify in SigNoz

Send a request through Kong:

curl -i http://localhost:8000/<your-route>

In SigNoz:

  • Services view shows kong with traffic.
  • Traces Explorer lists spans named kong with attributes kong.service.name, kong.route.name, and HTTP semconv fields.
  • Logs Explorer lists one record per request with body "<METHOD> <path> <status> <duration>ms" and severity set by status class (2xx → INFO, 4xx → WARN, 5xx → ERROR).

If nothing arrives within 5 seconds, check Kong's error log for entries containing signoz. Exporter errors surface as queue signoz: (traces) and queue signoz:logs_access: (logs).

Troubleshooting

  • No traces in SigNoz — confirm Kong's tracer is enabled (tracing_instrumentations set to a non-off value such as all, request, or router). Without it, ngx.ctx.KONG_SPANS stays empty and the plugin has no spans to enrich or export. Logs are unaffected.
  • No logs or traces — check Kong's error log for entries containing signoz (queue signoz: for traces, queue signoz:logs_access: for logs). Exporter HTTP errors (wrong endpoint, wrong region, bad ingestion key) and queue drops surface there.
  • 401 or 403 errors — verify config.exporter.key matches your SigNoz ingestion key and config.exporter.endpoint matches your SigNoz Cloud region.
  • Plugin not loading — confirm signoz is in the plugins directive in kong.conf (or KONG_PLUGINS env var) on every node, and that Kong was restarted after the change.
  • Self-hosted: connection refused — ensure your SigNoz OTel Collector is reachable from Kong and that the OTLP/HTTP port (default 4318) is open.

Next Steps

  • Set up log-based alerts to get notified on error patterns in Kong access logs.
  • Set up trace-based alerts on Kong latency or error rates.
  • Create a dashboard to combine Kong traces and logs in a single view.

Get Help

If you need help with the steps in this topic, please reach out to us on SigNoz Community Slack.

If you are a SigNoz Cloud user, please use in product chat support located at the bottom right corner of your SigNoz instance or contact us at cloud-support@signoz.io.

Last updated: May 27, 2026

Edit on GitHub

Was this page helpful?

Your response helps us improve this page.

Prev
Kong Gateway
Next
OpenTelemetry Plugin
On this page
Overview
Prerequisites
Setup
Step 1: Install the plugin
Step 2: Load the plugin in Kong
Step 3: Enable Kong's tracer
Step 4: Enable the plugin
Step 5: Verify in SigNoz
Troubleshooting
Next Steps
Get Help

Is this page helpful?

Your response helps us improve this page.