The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Go to file
2015-03-20 18:12:12 -04:00
.hooks Fixed gofmt formating, updated precommit hook 2015-03-07 16:37:19 +01:00
benchmarks/ab Fixed light theme condition, Fixes #1462 2015-02-11 15:32:19 +01:00
conf Changed default org name form 'main' to 'Main Org.' 2015-03-12 19:43:52 +01:00
docker Migrated from wercker to circle CI 2015-03-07 20:30:06 +01:00
docs Merge pull request #1594 from eheydrick/docs-spelling 2015-03-17 09:46:38 -04:00
Godeps Updated macaron and ini package 2015-03-19 10:17:16 -04:00
pkg Fixed small issue when using 'Save As', dashboard version was not reset 2015-03-19 10:32:47 -04:00
scripts Updated init.d script with chkconfig comment lines, now works on centos5 2015-03-06 11:21:41 +01:00
src Graph: added log base 16 and log base 1024 scales, #452 2015-03-20 18:12:12 -04:00
tasks Fixed asset revving issue with css files 2015-03-13 11:11:31 +01:00
vendor Updated docs 2015-03-09 21:58:01 +01:00
.bra.toml Changed go package path 2015-02-05 10:37:13 +01:00
.gitignore Merge branch 'docs-1.x' into develop 2015-03-11 10:47:09 +01:00
.jscs.json Adding JSCS (javascript style checker) 2014-06-07 07:05:42 +02:00
.jsfmtrc SharePanelModal: working on share feature, #864 2014-09-30 14:42:59 +02:00
.jshintrc cleanup of unused code, small style changes 2014-05-27 18:18:05 +02:00
.travis.yml make CI build faster 2014-08-11 17:03:17 +08:00
build.go Restored steps to build setup phase, installing sqlite3, speeds up builds so much in dev 2015-03-10 17:34:28 +01:00
CHANGELOG.md Graph: added log base 16 and log base 1024 scales, #452 2015-03-20 18:12:12 -04:00
circle.yml Added go vet step to circle.yml 2015-03-07 19:51:19 +01:00
CONTRIBUTING.md Improved markdown formatting in the contributing page. 2014-03-12 08:23:28 +00:00
Gruntfile.js Fixed asset revving issue with css files 2015-03-13 11:11:31 +01:00
latest.json Updated lastest.json 2014-12-29 11:24:14 +01:00
LICENSE.md Worked a little on anonymous access, needs more work 2015-01-07 16:37:24 +01:00
main.go Add dashboards:export CLI command 2015-03-03 23:16:14 -07:00
NOTICE.md updated license and added notice, hard to know how to handle attribution, and copyright, wish kibana src files had license headers 2013-12-27 11:58:35 +01:00
package.json Updated version to prebeta2 2015-03-10 13:55:08 +01:00
README.md Migrated from wercker to circle CI 2015-03-07 20:30:06 +01:00

Grafana Build Status Coverage Status ![Gitter](https://badges.gitter.im/Join Chat.svg)

Website | Twitter | IRC | Email

Grafana is An open source, feature rich metrics dashboard and graph editor for Graphite, InfluxDB & OpenTSDB.

Grafana 2.0 Alpha branch Circle CI

Grafana 2.0 comes with a backend written in Go. It is not ready for production use yet as there is still a lot of small issues to fix and polish missing. But feedback on what is done and bug reports would be greatly appreciated.

Try it out with docker

docker run -i -p 3000:3000 grafana/grafana:develop

The default admin user is admin/admin.

building and running

go get github.com/grafana/grafana

The above will give an error saying there is no go code. That is because the new backend parts are in the develop branch.

Building

cd $GOPATH/src/github.com/grafana/grafana
git checkout -t origin/develop
go run build.go setup            (only needed once to install godep)
godep restore                    (will pull down all golang lib dependecies in your current GOPATH)
go build .

To build less to css for the frontend you will need a recent version of of node (v0.12.0), npm (v2.5.0) and grunt (v0.4.5). Run the following:

npm install
npm install -g grunt-cli
grunt

To rebuild on source change (requires that you executed godep restore)

go get github.com/Unknwon/bra
bra run

Running

./bin/grafana web

Open grafana in your browser (default http://localhost:3000) and login with admin user (default user/pass = admin/admin).

Config

Create a grafana.custom.ini in the conf directory to override default configuration options. You only need to add the options you want to override. Config files are applied in the order of:

  1. grafana.ini
  2. grafana.dev.ini (if found)
  3. grafana.custom.ini

Docs

There is no docs for the configuration and new UI views, or the account / user model yet. But a quick note is that Grafana 2.0 has a multi tenant account & user model where Dashboards, data sources, api keys, etc are tied to an account and not to a specific user. Users are coupled to accounts via an account user role (Admin, Editor, Viewer). The default configuration is set to a single account mode to make this user & account model easier to handle in a single account setup. User sign ups are automatically added to a main account with the Editor role (this can be overriden in the config file). The default grafana admin user that is created on first startup also creates the main account.

Features

Graphite Target Editor

  • Graphite target expression parser
  • Feature rich query composer
  • Quickly add and edit functions & parameters
  • Templated queries
  • See it in action

Graphing

  • Fast rendering, even over large timespans.
  • Click and drag to zoom.
  • Multiple Y-axis.
  • Bars, Lines, Points.
  • Smart Y-axis formating
  • Series toggles & color selector
  • Legend values, and formating options
  • Grid thresholds, axis labels
  • Annotations

Dashboards

  • Create, edit, save & search dashboards
  • Change column spans and row heights
  • Drag and drop panels to rearrange
  • Use InfluxDB or Elasticsearch as dashboard storage
  • Import & export dashboard (json file)
  • Import dashboard from Graphite
  • Templating
  • Scripted dashboards
  • Dashboard playlists
  • Time range controls

InfluxDB

  • Use InfluxDB as a metric data source, annotation source and for dashboard storage
  • Query editor with series and column typeahead, easy group by and function selection

OpenTSDB

  • Use as metric data source
  • Query editor with metric name typeahead and tag filtering

Requirements

There are no dependencies, Grafana is a client side application that runs in your browser. It only needs a time series store where it can fetch metrics. If you use InfluxDB Grafana can use it to store dashboards. If you use Graphite or OpenTSDB you can use Elasticsearch to store dashboards or just use json files stored on disk.

Installation

Head to grafana.org and download the latest release.

Then follow the quick setup & config guide. If you have any problems please read the troubleshooting guide.

Documentation & Support

Be sure to read the getting started guide and the other feature guides.

Run from master

Grafana uses nodejs and grunt for asset management (css & javascript), unit test runner and javascript syntax verification.

  • clone repository
  • install nodejs
  • npm install (in project root)
  • npm install -g grunt-cli
  • grunt (runt default task that will generate css files)
  • grunt build (creates optimized & minified release)
  • grunt release (same as grunt build but will also create tar & zip package)
  • grunt test (executes jshint and unit tests)

Contribute

If you have any idea for an improvement or found a bug do not hesitate to open an issue. And if you have time clone this repo and submit a pull request and help me make Grafana the kickass metrics & devops dashboard we all dream about!

Before creating a pull request be sure that "grunt test" runs without any style or unit test errors, also please sign the CLA

License

Grafana is distributed under Apache 2.0 License. Work in progress Grafana 2.0 (with included Grafana backend)