The idea of this repository is :
- Create a java application with auto-instrumentation. Based in java-simple
- Deploy the application inside kubernetes cluster (I've choose k3d)
- Deploy observability components (jaeger + prometheus + grafana + otel-collector)
- Deploy opentelemetry demo
From the premise that you have a kubernetes cluster up and running, lets see how to get access in everyhing.
- Build locally
$ docker build --tag java-simple .- Deploy on k8s
$ kubectl create ns java-simple
$ kubens java-simple
$ k apply -f kubernetes/deploy-app.yaml- Deploy otel-demo
$ kubectl create ns otel-collector
$ kubens otel-collector
$ k apply -f kubernetes/deploy-otel-demo.yaml- Run
Expose the application:
$ k port-forward deploy/java-simple-deployment 8080 -n java-simpleRoll the dice via api:
$ curl http://localhost:8080/rolldice- Expose grafana
$ k port-forward deploy/opentelemetry-demo-grafana 3000 -n otel-collectorAccess to grafana via browser:
http://localhost:3000/grafana/
- Check metrics and trace
