Deployment
As shown in the architecture diagram, DOG Stack consists of four components: the data collection tools, the OpenTelemetry Collector, Doris, and Grafana with the Doris App plugin. This deployment document focuses on the latter three components; the data collection tools are covered in the data collection document.
DOG Stack offers multiple deployment options for different environments and purposes.
Docker Compose
Best suited for local testing, development, and PoC.
Prerequisites
- Docker Engine (v20.10+)
- Docker Compose (v2.0+)
Deployment
-
Clone the repository:
git clone https://github.com/ai-observe/ai-observe-stack.git cd ai-observe-stack/docker -
Start all services:
docker compose up -d -
Verify that services are running:
docker compose psAll services should show the
runningstatus. -
Access Grafana at http://localhost:3000 and log in with the default credentials
admin/admin.
Service endpoints
| Service | Endpoint | Credentials |
|---|---|---|
| Grafana | http://localhost:3000 | admin / admin |
| OTel gRPC | localhost:4317 | - |
| OTel HTTP | localhost:4318 | - |
Stop and clean up
Stop services while keeping data:
docker compose down
Stop services and remove all data:
docker compose down -v
Kubernetes
Best suited for production deployment, development environments, and scalable setups.
Prerequisites
- Kubernetes cluster (v1.20+)
- Helm (v3.0+)
- kubectl configured to access your cluster
- PersistentVolume provisioner (for data persistence)
Deployment
-
Add the DOG Stack and Doris Helm repositories:
helm repo add dogstack https://charts.velodb.io helm repo update -
Create a namespace for DOG Stack:
kubectl create namespace dogstack -
Install DOG Stack:
If you already have a Doris cluster, you can specify how to connect to it.
helm install my-dogstack dogstack/dogstack -n dogstack \ --set doris.mode=external \ --set doris.external.host=<DORIS_FE_HOST> \ --set doris.external.port=9030 \ --set doris.external.feHttpPort=8030 \ --set doris.internal.operator.enabled=falseIf you want to deploy a new Doris cluster, just install directly with no extra options.
helm install my-dogstack dogstack/dogstack -n dogstack -
Verify that all pods are running:
kubectl get pods -n dogstackWait until all pods show the
Runningstatus. -
Access Grafana:
kubectl port-forward svc/my-dogstack-grafana 3000:3000 -n dogstackOpen http://localhost:3000 and log in with
admin/admin.
Service endpoints
| Service | Port-forward command |
|---|---|
| Grafana | kubectl port-forward svc/my-dogstack-grafana 3000:3000 -n dogstack |
| Doris FE UI | kubectl port-forward svc/my-dogstack-doris-fe 8030:8030 -n dogstack |
| Doris MySQL | kubectl port-forward svc/my-dogstack-doris-fe 9030:9030 -n dogstack |
Uninstall
helm uninstall my-dogstack -n dogstack
kubectl delete namespace dogstack
Manual deployment
-
Deploy a Doris cluster by following the Doris deployment documentation. Skip this step if you already have a Doris cluster.
-
Deploy the OpenTelemetry Collector by following the OpenTelemetry deployment documentation.
-
Deploy Grafana by following the Grafana deployment documentation.
-
Open the DOG Stack web UI in your browser.
Visit http://localhost:3000 to access the Grafana UI inside DOG Stack.