- 2 minutes to read

Can I monitor WSO2 running in Docker or Kubernetes?

Yes—Docker and Kubernetes are fully supported when network accessibility is in place. This FAQ explains how the Nodinite monitoring agent reaches WSO2 by using JMX or the Management API.

Docker

For Docker, expose the right management port from the container to the host:

  • WSO2 Enterprise Integrator uses JMX on port 9999.
  • WSO2 Micro Integrator uses the Management API on port 9164.

A Docker example for WSO2 Enterprise Integrator is -p 9999:9999. A Docker example for WSO2 Micro Integrator is -p 9164:9164. The monitoring agent then connects to the Docker host IP and the mapped port.

Kubernetes

For Kubernetes, create a Service that exposes the same management endpoint. A NodePort or LoadBalancer service works well because the monitoring agent can connect to the published address.

apiVersion: v1
kind: Service
metadata:
  name: wso2-ei-jmx
spec:
  type: NodePort
  ports:
    - port: 9999
      nodePort: 30999
  selector:
    app: wso2-ei

With this example, the monitoring agent connects to the Kubernetes node IP and port 30999.

Micro Integrator Configuration

For WSO2 Micro Integrator in Kubernetes, enable the Management API in deployment.toml, publish port 9164, and load that configuration from a ConfigMap. The monitoring agent then connects to the external endpoint that the Kubernetes service provides.

Next Steps

  • Overview — Review the supported WSO2 connection model for JMX and the Management API.
  • POC — Validate Docker or Kubernetes monitoring in a proof of concept.