Alloy Studio is an open-source web application that helps engineers generate, validate, and understand Grafana Alloy configuration files. This tool simplifies the creation of observability pipelines by providing guided builders, validation, and comprehensive recipe templates.
- π¨ Dual Modes: Switch between Guided Builder and Raw Editor
- β Real-time Validation: Validate configurations using the official Alloy CLI Planned
- π― 150+ Components: Support for all Grafana Alloy components across 11 categories
- π Recipe Library: 30+ pre-built recipes for common observability patterns
- π‘ IntelliSense: Smart autocomplete and syntax highlighting Improvement Planned
- π Dark Mode: Beautiful dark theme by default
- π¦ Export Ready: Download production-ready
.alloyconfiguration files
# Clone the repository
git clone https://github.com/YOUR_USERNAME/alloy-studio.git
cd alloy-studio
# Start all services
docker-compose up
# Access the application
# Frontend: http://localhost:5173
# Backend API: http://localhost:8080cd frontend
npm install
npm run devcd backend
go mod download
go run cmd/server/main.goNote: You'll need the Grafana Alloy CLI installed for validation to work.
alloy-studio/
βββ frontend/ # React + TypeScript + Vite
β βββ src/
β β βββ components/
β β β βββ editor/ # Monaco editor & toolbar
β β β βββ builder/ # Guided builder components
β β β βββ ui/ # shadcn/ui components
β β βββ lib/
β β βββ api.ts # API client
β β βββ store.ts # Zustand state management
β β βββ types.ts # TypeScript types
β βββ ...
βββ backend/ # Go + Fiber API
β βββ cmd/server/ # Main application
β βββ pkg/
β β βββ api/ # HTTP handlers
β β βββ validation/# Alloy validation logic
β β βββ catalog/ # Component & recipe catalog
β βββ ...
βββ docker/ # Docker configurations
Validate Alloy configuration using the Alloy CLI.
Request:
{
"config": "prometheus.scrape \"default\" { ... }",
"stability_level": "stable",
"enable_community_components": false
}Response:
{
"valid": true,
"errors": [],
"warnings": []
}Format Alloy configuration.
Request:
{
"config": "prometheus.scrape \"default\" {...}"
}Response:
{
"formatted_config": "prometheus.scrape \"default\" {\n ...\n}"
}Get component catalog with optional filtering.
Query Parameters:
category: Filter by category (e.g., "prometheus", "loki")signal: Filter by signal type (e.g., "metrics", "logs")stability: Filter by stability levelsearch: Search by name/description
Get recipe library with optional filtering.
Query Parameters:
category: Recipe categorysignal: Signal typedifficulty: Recipe difficulty level
- React 18 with TypeScript
- Vite for fast builds
- Monaco Editor for code editing
- shadcn/ui + Tailwind CSS for UI
- Zustand for state management
- Lucide React for icons
- Go 1.22 with Fiber framework
- Grafana Alloy CLI for validation
- Embedded component and recipe catalogs
- Frontend: GitHub Pages (static site)
- Backend: Can be deployed to Railway, Render, Fly.io, or AWS Lambda
Alloy Studio supports all 150+ Grafana Alloy components:
- beyla - eBPF auto-instrumentation
- database_observability - Database monitoring
- discovery - Service discovery (30+ providers)
- faro - Frontend observability
- local - Local file operations
- loki - Log collection and processing (20+ components)
- mimir - Metrics management
- otelcol - OpenTelemetry Collector (70+ components)
- prometheus - Prometheus metrics (35+ components)
- pyroscope - Continuous profiling
- remote - Remote configuration
Pre-built recipes for common scenarios:
- K8s Metrics to Mimir
- K8s Logs to Loki
- K8s Traces to Tempo
- Complete LGTM Stack
- Node.js App Monitoring
- Go App Profiling
- Java App Telemetry
- Linux Server Monitoring
- Windows Server Monitoring
- Docker Container Monitoring
- MySQL Monitoring
- PostgreSQL Monitoring
- MongoDB Monitoring
...and many more!
- Node.js 20+
- Go 1.22+
- Docker & Docker Compose
- Grafana Alloy CLI (for validation)
# Frontend
cd frontend && npm install
# Backend
cd backend && go mod download# Frontend
cd frontend && npm run lint && npm run build
# Backend
cd backend && go test ./...# Frontend
cd frontend && npm run build
# Backend
cd backend && go build -o server ./cmd/serverContributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Add component definition to
backend/pkg/catalog/data/components.json - Follow the schema defined in the spec
- Test the component in the builder
- Add recipe to
backend/pkg/catalog/data/recipes.json - Test the generated configuration
- Add documentation and troubleshooting tips
This project is licensed under the MIT License - see the LICENSE file for details.
- Grafana Alloy - The amazing observability agent
- shadcn/ui - Beautiful UI components
- Monaco Editor - VS Code's editor
Built with β€οΈ for the observability community
