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
woodsaj c4fe9d50bf correctly handle event being a ptr
Events are passed in as PTRs, so we need to de-reference when getting the type and value.
2015-02-08 18:13:32 +08:00
conf Changed go package path 2015-02-05 10:37:13 +01:00
data fixed error handling, and error logging for panel rendering 2015-02-05 12:23:24 +01:00
docker added postgres support for db migrations 2015-01-20 09:20:44 +01:00
Godeps Updated godeps file 2015-02-04 18:06:37 +01:00
pkg correctly handle event being a ptr 2015-02-08 18:13:32 +08:00
src Updates to account and admin views 2015-02-08 10:23:35 +01:00
tasks Fixed release tar/zip keeping execution mode on phantomjs 2015-02-06 13:58:25 +01:00
vendor Updated phantomjs render script and wercker link in readme 2015-02-06 14:22:56 +01:00
.bra.toml Changed go package path 2015-02-05 10:37:13 +01:00
.gitignore Fixed bug in png rendering when having changed public url 2015-02-06 14:17:40 +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 updated build file 2015-01-28 13:10:09 +01:00
CHANGELOG.md Panel: Different time periods, panels can override dashboard relative time and/or add a time shift, #171, only works for graph panel for now, need feedback for how to do it for singlestat panel 2015-01-26 11:49:18 +01:00
CONTRIBUTING.md Improved markdown formatting in the contributing page. 2014-03-12 08:23:28 +00:00
Dockerfile Added docker file for docker registry distribution 2015-02-06 11:40:04 +01:00
Gruntfile.js Updated build and wercker file for new repo structure 2015-02-05 12:27:58 +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 Changed go package path 2015-02-05 10:37:13 +01:00
model.txt Initial work on seperation between user and account 2015-01-19 16:28:45 +01: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 Removed unused node package 2015-02-05 12:39:47 +01:00
README.md Updated phantomjs render script and wercker link in readme 2015-02-06 14:22:56 +01:00
wercker.yml Updated wercker file 2015-02-06 10:19:40 +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 wercker status

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.

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)
go run build.go build

For quicker builds:

godep restore (will pull down all golang lib dependecies in your current GOPATH)
go build -o ./bin/grafana .

To build less to css for frontend:

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)