/heimdall

Collaborative data visualization and business monitoring system

Primary LanguageJavaScriptMIT LicenseMIT

Heimdall

Heimdall is a free and open-source data visualization and business monitoring system. It's meant to run on-premise within your company network and leverages your existing databases. Collaboration is at its core, so everything you do can be shared and co-owned, changes are pushed in realtime to users.

Core concepts

  • Sources are configured database connections
  • Jobs run and cache queries on a source and can be scheduled, have alarms and notification
  • Visualizations represent job results through a variety of possible widgets
  • Dashboards organize multiple visualizations

Features

  • a variety of visualization widgets including
    • line, bar and area charts that can be stacked and combined
    • sortable tables with configurable column types
    • "big number" widgets
    • calendar heatmaps
    • geo maps
    • world and US maps
    • progress widgets
    • pie and donut charts
  • interactive dashboards through query parameterization
  • supports PostgreSQL, MySQL, Microsoft SQL Server, BigQuery, SQLite, CSV and JSON
  • queries can be scheduled to run periodically or are executed automatically after the cache validity expires
  • alarms and easy rule system supporting notification through email and Slack
  • authentication through passwords, LDAP, Google, Github and / or Facebook
  • permission management through groups for sources, jobs and dashboards
  • realtime updates of configuration and dashboards

Screenshots

Quick Start

  1. Install Meteor

    curl https://install.meteor.com/ | sh

  2. Install dependencies (in directory)

    meteor npm install --production

  3. Run server (in directory)

    meteor --settings settings-default.json

  4. Login at http://localhost:3000 with the default user "admin" / "admin"

Quick Start with Docker image


Links for more info

Quick Build (setup mongo db inside image)

docker build \
--build-arg INSTALL_MONGO=true \
-t heimdall:latest .

Run

docker run \
-e ROOT_URL=http://example.com \
-e METEOR_SETTINGS="$(cat settings.json)" \
-p 3000:3000 \
heimdall:latest