• Stars
    star
    855
  • Rank 51,423 (Top 2 %)
  • Language
    Ruby
  • Created about 12 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Visualize your team's metrics all in one place.

Team Dashboard

Team Dashboard lets you visualize your team's metrics all in one place (see Screenshots). It is build to be shown on a big screen in your team's space.

Heroku hosted Demo

It has built-in support for Graphite, Ganglia, Jenkins, Travis CI, Errbit, New Relic, Pingdom, Sensu and more and makes it really easy to add more data sources.

It is implemented as a Rails app and uses ActiveRecord to store your custom dashboards configuration.

Support via Team Dashboard Google Group

News

Team Dashboard 2.0.0 is available (March 5, 2013)

The final release is now available. More details in the Changelog!

Team Dashboard 2 RC2 is available (April 14, 2013)

Lots of new features and bugfixes. This is (hopefully) the last release candidate!

Read the Changelog!

Team Dashboard 2 RC1 is available (March 16, 2013)

Please checkout the Changelog and read the Migration Guide.

Getting Started

Debian Stable Prerequisites

Install bundler and the required libraries for gem compilation:

apt-get install bundler libxml2-dev libz-dev libmysqlclient-dev libxslt-dev

Download, install, and start

Clone the repository:

git clone git://github.com/fdietz/team_dashboard.git

Run bundler:

bundle install

On Windows the unicorn gem is not supported (the installation of the kgio gem will fail). But you can use thin instead (see Stack Overflow Issue).

Create a database.yml from the example config. Note, that this will overwrite your existing configuration using MySQL:

cp config/database.example.yml config/database.yml

Create the database and run migrations:

rake db:create && rake db:migrate

There is an initial "Demo" source and sample dashboards provided. Generate these via:

rake populate

Start the Rails server:

rails s

or use unicon directly:

bundle exec unicorn -c config/unicorn.rb

Running the build

Run the Rails unit/functional tests:

rake

Run the javascript unit tests (using karma):

karma start

Note, that it requires NodeJS to be installed. There's a package.json provided to install the dependencies using npm install command.

Configuration

System-wide configuration settings reside in config/secrets.yml.

For example when configuring graphite you can see the configuration settings in secrets.yml:

graphite_url: <%= ENV['GRAPHITE_URL'] %>

You can either change the configuration there or set the environment variable when starting the rails app:

GRAPHITE_URL=http://localhost:8080 rails s

Use environment variables in production instead of storing your secret information directly in secrets.yml. When deploying on Heroku you can set these as described in Configuration and Config Vars.

Alternatively, you can decide to remove secrets.yml from source control and instead link to a yml file existing on the production environment only. This is most commonly used when deploying with capistrano.

The configuration was changed to resemble the Rails 4.1 secrets.yml feature in order to support an easy upgrade path.

All data sources reside in app/models/sources and provide source code documentation with further details.

Dashboard Widgets

A dashboard in Team Dashboard consists of multiple Widgets, which request data from a data source via AJAX request.

All widgets have a name, time interval in which to update themselves and a data source as a common configuration.

You can easily add your own data source plugins (Data Source Plugins Developer Guide) and implement custom widgets (Widget Developer Guide).

Available Widgets

Graph Widget

The graph widget shows a time series line or area graph. Use it to show number of visits on your web page or number of currently online users and follow-up on trends.

It currently supports Graphite and Ganglia.

Number Widget

Shows the current integer value provided by the data source, the percentage of change compared to the previous value and an optional label. Use it to show for the example the number of errors on specific systems or the number of users.

It currently supports a New Relic, Hockey App, http proxy data source and Issue counter for Jira Filters.

Boolean Widget

Shows the current boolean value provided by the data source and an optional label. Use it to show for example the success of a Jenkins build or the health status of a system.

It currently supports Pingdom, arbitrary shell commands and a http proxy data source.

Alert Widget

It is similar to the Boolean Widget. It is designed to show the alerts of your system. The idea behind was introducing a possibility for linking the dashboard with the Sensu monitoring framework and displaying the alerts and the respective messages.

It currently supports Sensu.

CI (Continous Integration Server) Widget

Shows the current build status for a given project.

It currently supports Jenkins and Travis CI.

Exception Tracker Widget

Shows the number of unresolved errors in your exception tracker, and when the last error occurred. It currently supports Errbit.

Status Table Widget

Shows data in a table format with an overall status (like the alert widget) and individual row status with a label and a value.

It currently supports using a json file as input.

Credits & Contributors

Thanks go to Martin Tschischauskas and Marno Krahmer who worked with me on the first iteration which was build as part of a XING Hackathon Project.

The MIT License

Copyright (c) 2012 Frederik Dietz

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

More Repositories

1

recipes-with-angular-js-examples

Recipes with Angular.js
JavaScript
654
star
2

how_to_build_your_own_team_chat_in_five_days

How to build your own team chat in five days blog series code
CSS
129
star
3

recipes-with-angular-js

Recipes with Angular.js Site
CSS
106
star
4

recipes-with-angular-js-manuscript

Leanpub Book Manifest
CSS
69
star
5

jwz_threading

E-Mail threading based on JWZ algorithm
Ruby
54
star
6

elixir-feed-parser

Elixir Feed Parser
Elixir
49
star
7

vue_components_book_examples

Example sourcecode for the Vue Components Book
JavaScript
16
star
8

team_dashboard_plugins

Plugins for Team Dashboard
Ruby
10
star
9

angular_es6_seed

AngularJS seed using ES6 with SystemJS and JSPM
CSS
9
star
10

sprockets_standalone_example

Example of using Sprockets standalone to compress and package assets
Ruby
9
star
11

dotfiles

Frederik Dietz dotfiles
Shell
9
star
12

whistler_news_reader

A modern stylish RSS Reader with a beautiful reading experience.
JavaScript
8
star
13

synology-download-station

Synology Download Station Ruby API
Ruby
7
star
14

reactjs_team_chat

A reactjs port of my blog post series "how to build your own team chat in five days"
CSS
4
star
15

ruby-config

Ruby-Config lets you install and switch between various Ruby Runtimes
Ruby
4
star
16

sublimetext2_settings

3
star
17

simple_metrics

Simple Metrics
Ruby
2
star
18

vue-email-editor-prototype

email editor wysiwyg prototype
Vue
2
star
19

graphql-typescript-server-example

Using graphql-code-generator to generate Typescript definitions from GraphQL schema
TypeScript
2
star
20

twitter_bootstrap_simple_form_rails_example

Example Rails app combining twitter bootstrap and simple_form
Ruby
2
star
21

whitenoise-mac-app

White Noise Generator Mac App
Objective-C
2
star
22

vue_components_book_manuscript

Manuscript for the Vue Components Book
1
star
23

green_aliens

HTML5 Gaming Experiment
JavaScript
1
star
24

gridsome-example-site

Vue
1
star
25

webpack_integration

Phoenix Framework with Webpack
Elixir
1
star
26

fdietz.github.com

redirect to
HTML
1
star
27

simple_metrics-client

Simple Metrics Ruby client
Ruby
1
star
28

chef_solo

Chef Solo Deployment Scripts
Shell
1
star
29

hackerschool

hackschool example code
1
star
30

elixir_gravatar_url

An Elixir module for generating [Gravatar](http://gravatar.com) urls.
Elixir
1
star