(The project was renamed from IOTG(insights-on-the-go) to Elastiviz)
Elastiviz is an AI-powered, mobile-first observability platform designed to bridge the gap between complex infrastructure data and human intent. Instead of building static dashboards or writing complex query strings, Elastiviz allows you to ask questions in plain English and see the answers rendered instantly as interactive, real-time visualizations.
- Natural Language to Visuals: Translate intent—like "Show me pods consuming CPU for last 2 days"—directly into optimized ES|QL queries and rich charts.
- Mobile-First Observability: Built for the modern engineer on the move. Troubleshoot and monitor your K8s environment from your phone, not just your desk.
- Intelligent Reasoning: Powered by a Elastic agent builder and custom MCP (Model Context Protocol) engine that manages multi-step investigative reasoning and automatic schema discovery.
- Premium UX: Flutter interface designed for high-impact visual clarity and smooth interaction.
(Note:-
- Elastiviz uses custom MCP endpoints which use ESQL api to execute queries because observability project dosen't support creating agents using agent builder
- Current implementation works only for kubernetes data that comes to elastic's observability endpoint, but with some enhancements it can be generalized to work with any data, following similar architecture.)
- Frontend: Flutter (Mobile & Web)
- Backend: Serverpod (Dart), PostgreSQL, Redis
- Data Store: Elastic Serverless Observability Project(Kubernetes Integration)
Run pub get in all modules to fetch dependencies:
# Get dependencies for the client
cd iotg_client
dart pub get
# Get dependencies for the server
cd ../iotg_server
dart pub get
# Get dependencies for the flutter app
cd ../iotg_flutter
flutter pub getTo run the project, you need to configure your Elastic URLs and API keys in the server's passwords.yaml. Never commit this file.
- Navigate to
iotg_server/config/. - Open (or create)
passwords.yaml. - Add the following configuration:
# iotg_server/config/passwords.yaml
development:
# --- Elastiviz Observability Configuration (Hackathon Instance) ---
observabilityUrl: 'https://my-observability-project-cb9415.es.us-central1.gcp.elastic.cloud'
observabilityApiKey: 'your_observability_api_key'
kibanaUrl: 'https://iotg-b3fc4e.kb.us-central1.gcp.elastic.cloud'
kibanaApiKey: 'your_kibana_api_key'
agentId: 'iotg-observability-agent'See agent_setup.md for the exact System Prompt and Tool Webhooks you need to configure in the Kibana Agent Builder UI. Once created, paste the generated Agent ID into your passwords.yaml as shown above.
Navigate to the server directory and start the services:
cd iotg_server
docker compose up --build --detach
dart run bin/main.dart --apply-migrationsThen, run the mobile app:
cd ../iotg_flutter
flutter runBuilt with ❤️ for the Modern SRE.