OTail is a user-friendly web interface for creating and managing OpenTelemetry tail sampling agents. It provides a visual way to configure complex sampling policies without having to write YAML directly.

- Visual Policy Configuration: Easily create and manage sampling policies through an intuitive UI
- Configuration Validation: Validate sampling policy configurations before applying
- View Agent Effective Config: View the effective configuration of the agent
- Send Updated Config To Agent: Send the updated YAML configuration to the agent
.
├── helm/ # Helm charts for deploying OTail
│ └── otail/ # Main OTail Helm chart
├── otail-web/ # Web UI (React/TypeScript)
├── otail-server/ # API server (Go)
├── otail-col/ # OpenTelemetry collector
├── clickhouse/ # ClickHouse database configuration
├── prometheus/ # Prometheus monitoring configuration
├── opampsupervisor/ # OpAMP supervisor for agent management
├── docker-compose.yml # Local development environment
├── build-images.sh # Script for building Docker images
└── local-values.yaml # Local Helm values configuration
- Kubernetes 1.19+
- Helm 3.0+
- Docker
- Node.js 18+ (for frontend development)
- Go 1.21+ (for backend development)
- Add the Helm repository:
helm repo add otail https://mottibec.github.io/otail
helm repo update
- Install OTail:
helm install otail otail/otail --namespace otail
- Clone the repository:
git clone https://github.com/mottibec/otail.git
cd otail
- Set up your development environment:
# Copy environment file
cp .env.example .env
# Start local development
docker compose up -d
- Access the application:
- Web UI: http://localhost:3000
- API Server: http://localhost:8080
See CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the AGPLv3 License - see the LICENSE file for details.
- Built with React TypeScript and Go
- Uses Monaco Editor for YAML editing
- Inspired by OpenTelemetry Collector configuration needs