Hypertrace installation script uses Helm Charts to deploy Hypertrace on Kubernetes. If you are already using a tracing system, you can start today. Hypertrace accepts all major data formats: Jaeger, OpenTracing, Zipkin, you name it. Once you complete Installation you can see traces from your already instrumented application in Hypertrace.
Docker DesktoporKubernetes(version 1.5 and above).- Minimum resources: (3 CPUs, 4GB Memory).
Helm(version 3.2.x and above)- Bash
- Python (3.x and above)
Deploys Hypertrace platform in docker-desktop or any Kubernetes context, under the namespace hypertrace.
Here are the default Hypertrace ports:
| Port | Service |
|---|---|
| 2020 | Used by Hypertrace UI |
| 14267 | Jaeger thrift collector |
| 14268 | Jaeger HTTP collector |
| 9411 | Zipkin collector |
In case of any port collisions, users can modify the following properties in helm file (platform-services/values.yaml).
ingress.hosts[].paths[].port- To change UI porthypertrace-oc-collector.service.ports[].targetPort- To change collector ports
git clone https://github.com/hypertrace/hypertrace.gitcd hypertrace/kubernetes- Update the config properties under
./config/hypertrace.propertiesas needed. The default config will work for adevdeployment on Docker for Desktop. - Run
./hypertrace.sh install
In case of any issue, install hypertrace in debug mode to get more logs and traces to identify the rootcause.
- Set
HT_ENABLE_DEBUGtotruein./config/hypertrace.properties - Debug
bash -x ./hypertrace.sh install
Please follow docs below to get instructions specific to deployment environment.
| Key | Description | Allowed values |
|---|---|---|
HT_PROFILE |
Profile is size of your deployment. (Memory, No. of CPU's, etc.). | dev, mini, standard |
HT_ENV |
Platform you are deploying Hypertrace on. | aws, gcp, docker-desktop, minikube, microk8s |
HT_KUBE_CONTEXT |
Kubernetes context to deploy Hypertrace. | specific to platform |
HT_DATA_STORE |
Data store to be used with Hypertrace deployment. | mongo, postgres |
HT_KUBE_NAMESPACE |
Kubernetes namespace to deploy Hypertrace. | hypertrace |
HT_ENABLE_DEBUG |
In case of any issue, install Hypertrace in debug mode to get more logs and traces to identify the rootcause. | true, false |
HT_INSTALL_TIMEOUT |
Helm install wait timeout. | in minutes |
- Run
./hypertrace.sh uninstall
If you are not using helm in your production environment and want to install with kubernetes manifests, we got you covered.
You can generate manifests using following following commands:
- Run
./hypertrace.sh generate-manifests
| command | description |
|---|---|
| ./hypertrace.sh generate-manifests | Will create helm template manifests for all services and will store them in helm-deployment-templates directory for both data-services and platform-services |
| ./hypertrace.sh generate-manifests --service service-name | Wll create helm template manifests for particular service and will store them in helm-deployment-templates/service-manifests directory for both data-services and platform-services |
| ./hypertrace.sh generate-manifests --deps pre-install-tasks | Wll create helm template manifests for services with pre-install helm hook and will store them in helm-deployment-templates/pre-install-tasks directory for platform-services |
| ./hypertrace.sh generate-manifests --deps post-install-tasks | Wll create helm template manifests for services with post-install helm hook and will store them in helm-deployment-templates/post-install-tasks directory for platform-services |
git clone https://github.com/hypertrace/hypertrace.gitcd hypertrace/kubernetes- Update the config properties under
./config/hypertrace.propertiesas needed. The default config will work for adevdeployment on Docker for Desktop. - Run
./hypertrace.sh generate-manifestswhich will generate manifests for both data-services and platform services - Create Hypertrace namespace using
kubectl create namespace hypertrace - Install data services using
kubectl apply -f data-services/helm-deployment-templates/ -n hypertrace --validate=false - Once all data-service pods are up go to next step.
- Now install platform-service manifests using
kubectl apply -f platform-services/helm-deployment-templates/ -n hypertrace --validate=false
You can check if all pods are up and running using kubectl get pods -n hypertrace
If you are facing some issue with installation, you can look here for troubleshooting tips.
Once your Hypertrace installation is successful you can navigate tohttp://localhost:2020 or IP address for hypertrace-ui service to access the Hypertarce UI. It looks something like this!
![]() |
|---|
| Hypertrace Dashboard |
Now you know things are running, let's get some data into Hypertrace. If your applications already send trace data, you can configure them to send data to Hypertrace using the default ports for Jaeger, OpenCensus or Zipkin. If you are just getting started, try out our demo app. Once you have data in Hypertrace, you are ready to explore its advanced features.
- Genereate PR by running workflow here: https://github.com/hypertrace/hypertrace/actions?query=workflow%3A%22get+latest+helm+charts%22
- Click on
Run workflow - git checkout
update-helm-charts - Run e2e tests using
cd kubernetes./hypertrace-e2e-test.sh
- This will install Hypertrace, run e2 tests and then uninstall hypertrace.
- In case if you run the above script with minikube, update
./config/hypertrace.propertiesfile HE_ENV and HT_KUBE_CONTEXT withminikube
Note: We have workflow (./github/workflows/hypertrace-release.yml) which runs on self hosted-runner
that will be enabled in future.
