Demo
Observer Demo
Try Observer with our interactive demos and sample applications to see how it works in practice.
Interactive Demo Environment
We provide a fully functional demo environment where you can explore Observer’s features without installation.
Access Demo Environment
Visit our live demo: https://demo.observer.io
Demo Credentials:
- Username:
demo@observer.io - Password:
demo123
Note: These are intentionally simple credentials for demo purposes only. Never use such simple passwords in production environments.
The demo environment includes:
- Pre-populated sample data from various sources
- Multiple dashboards showing different use cases
- Real-time metrics from a simulated e-commerce application
- Sample alerts and notification configurations
Sample Applications
1. Microservices E-Commerce App
Deploy our sample e-commerce application to your cluster:
# Deploy the sample app
kubectl apply -f https://raw.githubusercontent.com/observer/samples/main/ecommerce/deploy.yaml
# The app includes:
# - Frontend service (React)
# - API gateway (Node.js)
# - Product service (Go)
# - Order service (Python)
# - Payment service (Java)
# - PostgreSQL database
# - Redis cache
This sample demonstrates:
- Service-to-service tracing
- Database query monitoring
- Cache hit/miss metrics
- API latency tracking
- Error rate monitoring
2. Kubernetes Cluster Monitoring
Monitor your Kubernetes cluster with Observer:
# Install the Observer agent
helm install observer-agent observer/observer-agent \
--set observer.endpoint=http://observer-api:8080
# View cluster metrics in the Observer dashboard
# Navigate to: Dashboards > Kubernetes > Cluster Overview
Included Metrics:
- Node CPU and memory usage
- Pod resource consumption
- Persistent volume usage
- Network traffic
- Container restart counts
3. Distributed Tracing Demo
See distributed tracing in action:
# Deploy the tracing demo
kubectl apply -f https://raw.githubusercontent.com/observer/samples/main/tracing/deploy.yaml
# Generate sample traffic
kubectl run -it --rm load-generator \
--image=busybox \
--restart=Never \
-- /bin/sh -c "while true; do wget -q -O- http://frontend:8080; done"
Trace Features:
- End-to-end request tracking
- Service dependency mapping
- Latency breakdown by service
- Error propagation tracking
Walkthrough Scenarios
Scenario 1: Investigating a Performance Issue
Follow this walkthrough to investigate a simulated performance issue:
Identify the Problem
- Navigate to Dashboards > Application Performance
- Notice elevated response times for the
/api/productsendpoint
Analyze Traces
- Go to Traces > Search
- Filter by:
service=api-gateway AND http.status_code=200 AND duration>1s - Click on a slow trace to view details
Find the Root Cause
- Examine the trace waterfall
- Identify that the database query is slow
- Check Metrics > Database for query performance
Set Up Alerts
- Create an alert for slow database queries
- Navigate to Alerting > Create Alert
- Configure:
database.query.duration > 500ms for 5 minutes
Scenario 2: Monitoring Deployment Impact
Track the impact of a new deployment:
Baseline Metrics
- Before deployment, note current metrics in the dashboard
- Key metrics: request rate, error rate, latency (p50, p95, p99)
Deploy New Version
kubectl set image deployment/api-gateway \ api-gateway=observer/api-gateway:v2.0Monitor Changes
- Watch the Deployment Impact dashboard
- Compare metrics before and after deployment
- Check for error rate increases or latency degradation
Rollback if Needed
# If issues detected, rollback kubectl rollout undo deployment/api-gateway
Scenario 3: Capacity Planning
Use Observer data for capacity planning:
Analyze Historical Trends
- Go to Dashboards > Capacity Planning
- Review 30-day trends for CPU, memory, and request rates
Forecast Resource Needs
- Identify growth patterns
- Calculate resource requirements based on trends
- Use the built-in forecasting tool
Set Resource Limits
resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi
Sample Dashboards
Import these pre-built dashboards:
Application Performance Dashboard
{
"dashboard": {
"title": "Application Performance",
"panels": [
{
"title": "Request Rate",
"type": "graph",
"query": "rate(http_requests_total[5m])"
},
{
"title": "Error Rate",
"type": "graph",
"query": "rate(http_requests_total{status=~\"5..\"}[5m])"
},
{
"title": "Response Time (p95)",
"type": "graph",
"query": "histogram_quantile(0.95, rate(http_request_duration_seconds_bucket[5m]))"
}
]
}
}
Infrastructure Dashboard
{
"dashboard": {
"title": "Infrastructure Overview",
"panels": [
{
"title": "CPU Usage",
"type": "graph",
"query": "avg(node_cpu_usage_percent) by (instance)"
},
{
"title": "Memory Usage",
"type": "graph",
"query": "avg(node_memory_usage_percent) by (instance)"
},
{
"title": "Disk I/O",
"type": "graph",
"query": "rate(node_disk_io_time_seconds_total[5m])"
}
]
}
}
Sample Queries
Try these sample queries in the Observer query interface:
Find Slow Requests
http_request_duration_seconds{quantile="0.95"} > 1
Top 10 Services by Error Rate
topk(10, rate(http_requests_total{status=~"5.."}[5m]))
Database Connection Pool Usage
(database_connections_active / database_connections_max) * 100
Memory Usage Trend
avg_over_time(container_memory_usage_bytes[1h])
Video Tutorials
Watch our video tutorials for step-by-step guides:
- Getting Started with Observer (5 minutes)
- Creating Custom Dashboards (10 minutes)
- Setting Up Alerts (8 minutes)
- Distributed Tracing Deep Dive (15 minutes)
Cleanup
To remove the demo applications:
# Remove sample e-commerce app
kubectl delete -f https://raw.githubusercontent.com/observer/samples/main/ecommerce/deploy.yaml
# Remove tracing demo
kubectl delete -f https://raw.githubusercontent.com/observer/samples/main/tracing/deploy.yaml
# Remove Observer agent
helm uninstall observer-agent
Next Steps
- Getting Started - Install Observer in your environment
- Architecture - Learn how Observer works
- Integrations - Connect your tools and services
- Community - Join the Observer community