OpenObserve Observability
OpenObserve cloud-native observability platform for logs, metrics, and traces.
Overview
OpenObserve is a modern cloud-native observability platform designed to provide comprehensive monitoring capabilities for logs, metrics, and traces. Developed as a high-performance alternative to traditional solutions like Elasticsearch, it offers up to 140x better storage efficiency while maintaining full compatibility with OpenTelemetry standards. The platform features built-in alerting, SQL-based querying, and distributed tracing capabilities all within a single, lightweight application.
This deployment runs OpenObserve as a single all-in-one container that includes all necessary components for a complete observability stack. The container integrates storage, indexing, querying, and visualization capabilities without requiring separate databases or services. OpenObserve uses its own optimized storage engine and provides a web interface accessible on port 5080 for managing and visualizing observability data.
This configuration is ideal for teams looking to implement comprehensive observability without the complexity and resource overhead of traditional ELK or similar multi-component stacks. The single-container architecture makes it perfect for small to medium-scale deployments, development environments, or organizations seeking a cost-effective alternative to expensive SaaS observability solutions while maintaining enterprise-grade features.
Key Features
- Ultra-efficient storage with up to 140x reduction compared to Elasticsearch while maintaining full-text search capabilities
- Native OpenTelemetry support for ingesting logs, metrics, and distributed traces from applications
- SQL-based query language for complex data analysis and custom dashboards without learning proprietary syntax
- Built-in alerting system with support for multiple notification channels and threshold-based triggers
- Real-time log streaming and tail functionality for live monitoring and debugging sessions
- Multi-tenant architecture with role-based access control for secure data isolation
- RESTful API for programmatic access to data ingestion, querying, and configuration management
- Embedded visualization engine with customizable dashboards and chart types for operational insights
Common Use Cases
- 1Application performance monitoring for microservices architectures using distributed tracing
- 2Cost-effective log aggregation and analysis for startups and SMBs replacing expensive SaaS solutions
- 3Development environment observability where teams need full-stack monitoring without infrastructure overhead
- 4Edge computing and IoT monitoring where resource efficiency and low storage footprint are critical
- 5Compliance and audit logging with long-term retention requirements due to superior compression ratios
- 6Real-time operational dashboards for DevOps teams monitoring application health and system metrics
- 7Troubleshooting and debugging workflows requiring correlation between logs, metrics, and traces in a single platform
Prerequisites
- Docker and Docker Compose installed on the host system
- Minimum 2GB RAM available for OpenObserve container operations and data processing
- Port 5080 available on the host for web interface access
- Environment variables ZO_ROOT_USER_EMAIL and ZO_ROOT_USER_PASSWORD configured for initial admin access
- Sufficient disk space for log retention based on ingestion volume and retention policies
- Basic understanding of observability concepts and OpenTelemetry instrumentation for application integration
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 openobserve: 3 image: public.ecr.aws/zinclabs/openobserve:latest4 container_name: openobserve5 environment: 6 - ZO_ROOT_USER_EMAIL=${ZO_ROOT_USER_EMAIL}7 - ZO_ROOT_USER_PASSWORD=${ZO_ROOT_USER_PASSWORD}8 - ZO_DATA_DIR=/data9 volumes: 10 - openobserve_data:/data11 ports: 12 - "5080:5080"13 networks: 14 - openobserve-network1516volumes: 17 openobserve_data: 1819networks: 20 openobserve-network: 21 driver: bridge.env Template
.env
1# OpenObserve2ZO_ROOT_USER_EMAIL=admin@example.com3ZO_ROOT_USER_PASSWORD=your_secure_passwordUsage Notes
- 1UI at http://localhost:5080
- 2140x less storage than Elasticsearch
- 3Supports OpenTelemetry
- 4Built-in alerting
- 5SQL-based query language
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 openobserve:5 image: public.ecr.aws/zinclabs/openobserve:latest6 container_name: openobserve7 environment:8 - ZO_ROOT_USER_EMAIL=${ZO_ROOT_USER_EMAIL}9 - ZO_ROOT_USER_PASSWORD=${ZO_ROOT_USER_PASSWORD}10 - ZO_DATA_DIR=/data11 volumes:12 - openobserve_data:/data13 ports:14 - "5080:5080"15 networks:16 - openobserve-network1718volumes:19 openobserve_data:2021networks:22 openobserve-network:23 driver: bridge24EOF2526# 2. Create the .env file27cat > .env << 'EOF'28# OpenObserve29ZO_ROOT_USER_EMAIL=admin@example.com30ZO_ROOT_USER_PASSWORD=your_secure_password31EOF3233# 3. Start the services34docker compose up -d3536# 4. View logs37docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/openobserve-logs/run | bashTroubleshooting
- Container fails to start with permission errors: Ensure the data volume has proper write permissions or run with appropriate user mapping
- Web interface shows 'Connection refused' at localhost:5080: Verify the container is running and port mapping is correct in docker-compose configuration
- High memory usage during data ingestion: Adjust ZO_MEMORY_CACHE_MAX_SIZE environment variable to limit memory consumption based on available resources
- Data not appearing after application instrumentation: Check OpenTelemetry endpoint configuration points to http://localhost:5080/api/default/v1/traces for traces and logs
- Login fails with admin credentials: Verify ZO_ROOT_USER_EMAIL and ZO_ROOT_USER_PASSWORD environment variables are properly set and container has been restarted
- Slow query performance on large datasets: Optimize queries using time range filters and consider partitioning strategies based on OpenObserve documentation
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Components
openobserve
Tags
#openobserve#logs#metrics#traces#elasticsearch-alternative
Category
Monitoring & ObservabilityAd Space
Shortcuts: C CopyF FavoriteD Download