Introduction
Getting Started
Metoro offers two ways to set up and use the platform:
- Managed Cloud: Let us handle everything for you. We host and maintain the platform. You just need to install the Metoro Agent on your cluster.
- On-Prem: Host and manage Metoro entirely within your infrastructure for full control over your data and setup.
Compatibility
Metoro can run on any Kubernetes cluster, whether it is on-premises, in the cloud, or managed by a cloud provider. Metoro has been running in production on the following Kubernetes distributions:
- AWS Elastic Kubernetes Service (EKS)
- Google Kubernetes Engine (GKE)
- Azure Kubernetes Service (AKS)
- K3s on mac and linux systems
- Bare-metal Kubernetes installations
- OpenShift clusters
Installation (Managed Cloud)
Metoro is explicitly designed to be super easy to get up and running with. We think that it should take < 5 minutes to get end-to-end observability for your services. Start your timer and let's get started!
Head to the metoro app and sign up with your email address.
After you log in, follow the on-screen instructions to install Metoro on your cluster. You will be prompted to select a Kubernetes cluster for the Metoro Agent installation. You have two options:
- Local Dev Cluster: This option sets up a local kubernetes cluster on your machine and installs Metoro into it. Choose this if you are starting a new project or simply trying out Metoro without installing it into a live cluster.
- Existing Cluster: This option allows you to install Metoro on an existing Kubernetes cluster that is already running, whether in the cloud, on-premises, or elsewhere. Select this option if you are setting up Metoro for a production environment.
Once you have selected your cluster, copy-paste the installation command into your terminal and hit enter.
Once the installation is complete, you will see a success message in your terminal.
Get a cup of coffee
It can take a couple of minutes for Metoro to receive your cluster's data.
- If you are installing Metoro to a local dev cluster, this might take 5-10 minutes as it sets up the cluster.
- If you are installing Metoro to an existing cluster, this will take around a minute.
Once Metoro shows that it is receiving data, you can start exploring your cluster. You now have end-to-end telemetry. You should see the following screen.
Installation (On-Prem)
- Contact us to get access to the Helm charts and private image repositories. Join our Community Slack Channel or contact us at support@metoro.io. You will receive:
- Helm repository (zipped)
- Image repository pull secret
- Extract the helm chart and cd into the directory
unzip helm.zip && cd helm
- Make sure that your default kubecontext is pointed at the right cluster
kubectl config use-context CLUSTER_YOU_WANT_TO_INSTALL_INTO
- Install the hub into the cluster with the following command
helm upgrade --install --namespace metoro-hub --create-namespace metoro ./ --set clickhouse.enabled=true --set postgresql.enabled=true --set onPrem.isOnPrem=true --set imagePullSecret.data=<imagePullSecret-from-step-1> --set apiserver.replicas=1 --set ingester.replicas=1 --set temporal.enabled=true --set ingester.autoscaling.horizontalPodAutoscaler.enabled=false --set apiserver.autoscaling.horizontalPodAutoscaler.enabled=false
- Wait for the api server to come up
Note
If the clickhouse pod is pending, it’s likely because there are not enough resources in the cluster to satisfy the limits. You can remove or lower those limits in the stateful set definition for clickhouse.
Port forward the apiserver - This will forward from the api server to port 8080 locally
kubectl port-forward -n metoro-hub service/apiserver 8080:8080
Create an account (don’t use the SSO options on prem) by heading to http://localhost:8080
After logging in, click on Existing Cluster and type in your cluster's name. Ignore the installation command but copy the exporter.secret.bearerToken value (see the selected text in the screenshot below)
Run the following command instead with replacing the TOKEN_HERE with the token you copied in the previous step.
bash -c "$(curl -fsSL http://localhost:8080/install.sh)" -- TOKEN_HERE http://ingester.metoro-hub.svc.cluster.local/ingest/api/v1/otel http://apiserver.metoro-hub.svc.cluster.local/api/v1/exporter --existing-cluster --on-prem
Wait for the installation script panel in the UI to change to a diagram showing the information flowing to the hub like this: