I want to profile my play application on my Kubernetes cluster.
I am using VisualVM, and the steps that I have taken are as follows:
- Image is built on ubuntu latest
Running my play application with the following args:
"-Dcom.sun.management.jmxremote", "-Dcom.sun.management.jmxremote.ssl=false", "-Dcom.sun.management.jmxremote.authenticate=false", "-Dcom.sun.management.jmxremote.port=1098"
My Image has
apt-get install -y visualvm
- I do
kubectl port-forward <Container> 1098
- Open VisualVM, And I don't see the process.
I am not sure what I am doing wrong here. When running the application on localhost (not via IDE, straight from the startup script) everything works fine.
Update 1, deployment and service
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: myApp labels: name: myApp spec: replicas: 1 strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate template: metadata: name: myApp labels: name: myApp spec: containers: - name: myApp image: ... args: ["-Dcom.sun.management.jmxremote", "-Dcom.sun.management.jmxremote.ssl=false", "-Dcom.sun.management.jmxremote.authenticate=false", "-Dcom.sun.management.jmxremote.port=1098"] ports: - containerPort: 9000 env: ...
apiVersion: v1
kind: Service
metadata:
name: myApp
labels:
name: myApp
spec:
selector:
name: myApp
ports:
- port: 80
targetPort: 9000
Update 2 @marcospereira
File->Add JMX connection-> localhost:1098
Cannot connect to localhost:1098 using service jmx:rmi...