(Hands-on demo for TrueWatch users & partners)
This guide shows you how to deploy the open‑source iDURAR CRM on AWS EKS and instrument it end‑to‑end with TrueWatch for metrics, logs, real‑user monitoring (RUM) and distributed tracing.
TrueWatch is a full‑stack observability platform that unifies metrics, logs, traces, real‑user monitoring and synthetic testing behind a single pane of glass.
iDURAR is a MERN‑stack CRM with:
- React frontend
- Node.js + Express backend
- MongoDB persistence
- Container‑friendly design (Helm charts & manifests)
Throughout this workshop you will
- Deploy iDURAR on EKS
- Install Datakit (TrueWatch’s agent)
- Add RUM to the React UI
- Build live dashboards, pipelines and alerts
- Trace a request hop‑by‑hop from the browser to MongoDB
| Requirement | Notes |
|---|---|
| TrueWatch Cloud account & workspace | Sign up at https://id1-auth.truewatch.com/businessRegister. |
| AWS account with EKS cluster | The examples use an existing cluster named eks-demo-cluster in ap-southeast-1. |
| AWS CloudShell | All commands are executed from CloudShell unless noted. |
kubectl, git, aws CLI |
Pre‑installed in CloudShell. |
On AWS CloudShell, clone the workshop repository and change into it:
git clone https://github.com/TrueWatchTech/idurar-demo-workshop
cd idurar-demo-workshop/workshopFrom TrueWatch → Integrations → Datakit → Kubernetes copy the ENV_DATAWAY value.
Open the manifest and replace YOUR-ENV-DATAWAY (line 133) with the value copied above:
vim datakit.yaml # use ":set nu" for line numbersaws eks --region ap-southeast-1 update-kubeconfig --name eks-demo-clusterRemember to update the region and cluster name to your environment's context.
kubectl apply -f datakit.yaml
kubectl get pods -n datakit- Infrastructure – EKS nodes should appear.

- Containers → Pods – Pod‑level metrics.

- Analysis Dashboard – Host & container widgets.

- Network → Map – Traffic flows.

- Logs – e.g.,
kube‑proxyand cluster events.
- TrueWatch → RUM → Application → Create
- Choose Web
- Name & ID:
idurar - Copy the generated clientToken
- Click Create
vim ../frontend/src/main.jsx # edit line 10Replace the placeholder token with the one you just copied.
chmod +x bootstrap.sh build-and-push.sh deploy.shvim values.env # edit line 6 if necessary./bootstrap.sh./build-and-push.sh./deploy.sh
kubectl delete -f datakit.yaml && kubectl apply -f datakit.yamlkubectl get all -n idurar-demo- Username:
admin@demo.com - Password:
admin123
- Create a customer (iDURAR → Customers → Add).

- TrueWatch → RUM → Session Explorer, open latest session.

- Fetch/XHR → sort by latency.

- Click
/api/payment/summary→ View Related Trace → select MongoDB span.
- Locate Current Span to zoom in; inspect timing & query.

- Host tab to correlate with node metrics.

- Logs tab →
hostto see correlated logs.
- Back in the session view, click any Error entry for details.

Logs → Pipelines → Create Pipeline
Fill basic info → Get a Sample.
If empty, click +Add and select idurar-frontend.
Choose Manual and paste:
# Extract the 'message' field from the log
json(_, message)
# Replace new lines
replace(message, "\n", " ")
# Grok patterns
grok(message, "> vite --host %{IP:host_ip}")
grok(message, "VITE v%{GREEDYDATA:version} ready in %{NUMBER:ready_time} ms")
grok(message, "➜ Local: %{URI:local_url}")
grok(message, "➜ Network: %{URI:network_url}")
Click Test.
Verify extracted fields and Save the pipeline. Future logs will be parsed automatically.
Monitoring → Monitors → Create → APM Metric Detection
Fill in the parameters as shown and click Create.
| Component | Purpose |
|---|---|
| AWS ALB | Routes user traffic to EKS. |
| iDURAR Frontend | React UI integrated with RUM SDK. |
| iDURAR Backend | Node.js/Express API & business logic. |
| MongoDB | Persistent data store. |
| Datakit | DaemonSet collecting metrics/logs/traces. |
| TrueWatch | SaaS observability backend. |
© 2025 TrueWatch Demo Workshop



















