Monitoring Kong API Gateway (Open beta)

The Kong API Gateway sensor is a remote sensor that needs to be configured in the Instana agent. You can view the metrics that are related to Kong API Gateway in the UI after you configure the sensor as outlined in this topic. Currently, the sensor is in open beta.

Supported information

Supported operating systems

The supported operating systems of the Kong API Gateway sensor are consistent with host agents requirements, which can be checked in the Supported operating systems section of each host agent, such as Supported operating systems for Unix.

Supported versions

Instana agent supports the following Kong API Gateway versions:

  • Kong Gateway (OSS) 2.6 or later
  • Kong Gateway 2.6 or later (in Free or Enterprise mode)

Configuring

To connect to Kong API Gateway, configure the following fields in the agent configuration file <agent_install_dir>/etc/instana/configuration.yaml:

#Kong API Gateway
com.instana.plugin.kong:
  remote: # Multiple configurations can be specified
    - host: 'host-1' # Kong Server Host or IP address
      admin_listener_port: '8001' # Admin interface listener port.
      status_listener_port: '8100' # Status API listener port. Only used in hybrid mode. Do not uncomment in standalone mode.
      availabilityZone: '' # default is 'KongAZ'
      poll_rate: 30 # Poll rate in seconds. It can not be less than 15 seconds.

Note: Only remote monitoring is supported. You can configure multiple Kong Gateways.

See the following example:

com.instana.plugin.kong:
  remote: # Multiple configurations can be specified
    - host: 'host-1' # Kong Server Host or IP address
      admin_listener_port: '8001' # Admin interface listener port.
      status_listener_port: '8100' # Status API listener port. Only used in hybrid mode. Do not uncomment in standalone mode.
      availabilityZone: 'KongAZ-DC1' # default is 'KongAZ'
      poll_rate: 30 # Poll rate in seconds. It can not be less than 30 seconds.
    - host: 'host-2' # Kong Server Host or IP address
      admin_listener_port: '8001' # Admin interface listener port.
      status_listener_port: '8100' # Status API listener port. Only used in hybrid mode. Do not uncomment in standalone mode.
      availabilityZone: 'KongAZ-DC2' # default is 'KongAZ'
      poll_rate: 30 # Poll rate in seconds. It can not be less than 30 seconds.

Viewing metrics

To view the metrics, complete the following steps:

  1. In the sidebar of the Instana UI, select Infrastructure.
  2. Click a specific monitored host.

You can see a host dashboard with all the collected metrics and monitored processes.

The following metrics are available for each Kong API Gateway server:

Metric Description Granularity
Kong Datastore Reachable Displays the Kong data store connection status. Returns "No" if Kong is unable to connect to the data store, otherwise returns "Yes". 30 seconds
Total Number of Database Entities Shows the total number of entities in the Kong database. 30 seconds
Kong DB Entity Count Errors Measures the number of errors that are encountered during the measurement of total number of entities in the Kong database. 30 seconds
Errors in License Information Collection Displays the total number of errors that are encountered during the collection of license information. 30 seconds
Kong Nginx Metric Errors Increments the metric errors that are encountered on using the nginx-lua-prometheus library. This Lua library is used with Nginx to track metrics and display them on a separate web page to be pulled by Prometheus. 30 seconds
Worker Consistency Defines whether this node must rebuild its state synchronously or asynchronously. Accepted values are strict and eventual. 30 seconds
Worker State Update Frequency Defines how often the worker state changes are checked with a background job. The default value is 5 seconds. 30 seconds
Kong Nginx Timers Presents the total number of NGINX timers in running and pending state. 30 seconds
Total Traffic Shows the count of all status codes that are grouped by status code class (for example, 2xx, 3xx, 4xx, and 5xx) 30 seconds
Shared Dictionary Allocated Slabs Presents allocated slabs in bytes in a shared-memory dictionary to store large amounts of data. 30 seconds
Allocated Bytes in Worker Lua VM Shows the allocated memory in bytes in Worker Lua virtual machine. 30 seconds
Kong Nginx Total Requests Displays the total number of requests by subsystem like HTTP or stream. 30 seconds
Bandwidth (Bytes) Displays the total Bandwidth (egress or ingress) flowing through Kong in bytes. This metric is available per service and as a sum across all services. 30 seconds
Total HTTP Requests Displays the total number HTTP requests per service per route and per HTTP status code. 30 seconds
Kong Latency by Services Displays the latency that is added by Kong and enabled plug-ins for each service. 30 seconds
Kong Latency by Routes Displays the latency that is added by Kong and enabled plug-ins for each route. 30 seconds