2017-09-01 00:16:42 -05:00
|
|
|
[Grafana](https://grafana.com) [![Circle CI](https://circleci.com/gh/grafana/grafana.svg?style=svg)](https://circleci.com/gh/grafana/grafana) [![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana)
|
2014-07-14 13:53:20 -05:00
|
|
|
================
|
2017-03-13 15:32:28 -05:00
|
|
|
[Website](https://grafana.com) |
|
2015-03-25 06:17:22 -05:00
|
|
|
[Twitter](https://twitter.com/grafana) |
|
2017-03-13 17:05:47 -05:00
|
|
|
[Community & Forum](https://community.grafana.com)
|
2013-01-25 22:10:28 -06:00
|
|
|
|
2015-03-25 06:03:20 -05:00
|
|
|
Grafana is an open source, feature rich metrics dashboard and graph editor for
|
2015-11-12 06:50:57 -06:00
|
|
|
Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB.
|
2014-07-14 13:53:20 -05:00
|
|
|
|
2017-03-13 15:32:28 -05:00
|
|
|
![](http://docs.grafana.org/assets/img/features/dashboard_ex1.png)
|
2015-03-29 06:39:51 -05:00
|
|
|
|
2015-11-12 06:50:57 -06:00
|
|
|
- [Install instructions](http://docs.grafana.org/installation/)
|
|
|
|
- [What's New in Grafana 2.0](http://docs.grafana.org/guides/whats-new-in-v2/)
|
|
|
|
- [What's New in Grafana 2.1](http://docs.grafana.org/guides/whats-new-in-v2-1/)
|
|
|
|
- [What's New in Grafana 2.5](http://docs.grafana.org/guides/whats-new-in-v2-5/)
|
2016-05-12 03:41:36 -05:00
|
|
|
- [What's New in Grafana 3.0](http://docs.grafana.org/guides/whats-new-in-v3/)
|
2016-11-29 12:03:33 -06:00
|
|
|
- [What's New in Grafana 4.0](http://docs.grafana.org/guides/whats-new-in-v4/)
|
2017-01-10 08:56:24 -06:00
|
|
|
- [What's New in Grafana 4.1](http://docs.grafana.org/guides/whats-new-in-v4-1/)
|
2017-03-23 11:04:18 -05:00
|
|
|
- [What's New in Grafana 4.2](http://docs.grafana.org/guides/whats-new-in-v4-2/)
|
2017-05-12 06:35:52 -05:00
|
|
|
- [What's New in Grafana 4.3](http://docs.grafana.org/guides/whats-new-in-v4-3/)
|
2017-07-04 18:15:42 -05:00
|
|
|
- [What's New in Grafana 4.4](http://docs.grafana.org/guides/whats-new-in-v4-4/)
|
2015-02-06 01:40:12 -06:00
|
|
|
|
2014-03-09 12:02:04 -05:00
|
|
|
## Features
|
2014-01-19 10:16:57 -06:00
|
|
|
|
2014-03-09 12:02:04 -05:00
|
|
|
### Graphing
|
2015-03-25 06:03:20 -05:00
|
|
|
- Fast rendering, even over large timespans
|
|
|
|
- Click and drag to zoom
|
2015-03-29 06:39:51 -05:00
|
|
|
- Multiple Y-axis, logarithmic scales
|
2015-03-25 06:03:20 -05:00
|
|
|
- Bars, Lines, Points
|
2015-10-30 04:07:08 -05:00
|
|
|
- Smart Y-axis formatting
|
2014-01-19 10:16:57 -06:00
|
|
|
- Series toggles & color selector
|
2015-03-25 06:03:20 -05:00
|
|
|
- Legend values, and formatting options
|
2014-02-21 07:27:38 -06:00
|
|
|
- Grid thresholds, axis labels
|
2015-03-29 06:30:03 -05:00
|
|
|
- [Annotations](http://docs.grafana.org/reference/annotations/)
|
|
|
|
- Any panel can be rendered to PNG (server side using phantomjs)
|
2014-01-19 10:16:57 -06:00
|
|
|
|
2014-03-09 12:02:04 -05:00
|
|
|
### Dashboards
|
2014-08-05 05:27:03 -05:00
|
|
|
- Create, edit, save & search dashboards
|
|
|
|
- Change column spans and row heights
|
|
|
|
- Drag and drop panels to rearrange
|
2015-03-29 06:30:03 -05:00
|
|
|
- [Templating](http://docs.grafana.org/reference/templating/)
|
|
|
|
- [Scripted dashboards](http://docs.grafana.org/reference/scripting/)
|
|
|
|
- [Dashboard playlists](http://docs.grafana.org/reference/playlist/)
|
|
|
|
- [Time range controls](http://docs.grafana.org/reference/timerange/)
|
2015-03-29 06:39:51 -05:00
|
|
|
- [Share snapshots publicly](http://docs.grafana.org/v2.0/reference/sharing/)
|
2014-03-09 12:02:04 -05:00
|
|
|
|
|
|
|
### InfluxDB
|
2015-03-29 06:30:03 -05:00
|
|
|
- Use InfluxDB as a metric data source, annotation source
|
2017-04-11 23:38:37 -05:00
|
|
|
- Query editor with field and tag typeahead, easy group by and function selection
|
|
|
|
|
|
|
|
### Graphite
|
|
|
|
- Graphite target expression parser
|
|
|
|
- Feature rich query composer
|
|
|
|
- Quickly add and edit functions & parameters
|
|
|
|
- Templated queries
|
|
|
|
- [See it in action](http://docs.grafana.org/datasources/graphite/)
|
|
|
|
|
|
|
|
### Elasticsearch, Prometheus & OpenTSDB
|
|
|
|
- Feature rich query editor UI
|
2014-07-14 13:53:20 -05:00
|
|
|
|
2017-04-11 23:38:37 -05:00
|
|
|
### Alerting
|
|
|
|
- Define alert rules using graphs & query conditions
|
|
|
|
- Schedule & evalute alert rules, send notifications to Slack, Hipchat, Email, PagerDuty, etc.
|
2014-01-19 10:16:57 -06:00
|
|
|
|
2014-08-12 02:24:58 -05:00
|
|
|
## Requirements
|
2015-03-29 06:39:51 -05:00
|
|
|
There are no dependencies except an external time series data store. For dashboards and user accounts Grafana can use an embedded
|
2015-03-29 06:30:03 -05:00
|
|
|
database (sqlite3) or you can use an external SQL data base like MySQL or Postgres.
|
2014-01-19 10:16:57 -06:00
|
|
|
|
2014-08-12 02:24:58 -05:00
|
|
|
## Installation
|
2017-03-21 09:37:55 -05:00
|
|
|
Head to [grafana.org](http://docs.grafana.org/installation/) and [download](https://grafana.com/get)
|
2014-08-05 05:27:03 -05:00
|
|
|
the latest release.
|
2014-01-19 10:16:57 -06:00
|
|
|
|
2015-03-29 06:30:03 -05:00
|
|
|
If you have any problems please read the [troubleshooting guide](http://docs.grafana.org/installation/troubleshooting/).
|
2014-04-09 05:36:35 -05:00
|
|
|
|
2014-08-12 02:24:58 -05:00
|
|
|
## Documentation & Support
|
2015-03-29 06:30:03 -05:00
|
|
|
Be sure to read the [getting started guide](http://docs.grafana.org/guides/gettingstarted/) and the other feature guides.
|
2014-01-20 03:57:59 -06:00
|
|
|
|
2014-08-12 02:24:58 -05:00
|
|
|
## Run from master
|
2015-09-08 15:16:51 -05:00
|
|
|
If you want to build a package yourself, or contribute. Here is a guide for how to do that. You can always find
|
2017-03-13 15:32:28 -05:00
|
|
|
the latest master builds [here](https://grafana.com/grafana/download)
|
2015-03-29 06:30:03 -05:00
|
|
|
|
|
|
|
### Dependencies
|
|
|
|
|
2017-04-11 23:38:37 -05:00
|
|
|
- Go 1.8.1
|
|
|
|
- NodeJS LTS
|
2015-03-29 06:30:03 -05:00
|
|
|
|
|
|
|
### Get Code
|
|
|
|
|
2016-02-10 05:08:04 -06:00
|
|
|
```bash
|
2015-03-29 06:30:03 -05:00
|
|
|
go get github.com/grafana/grafana
|
|
|
|
```
|
|
|
|
|
2016-10-20 15:08:12 -05:00
|
|
|
Since imports of dependencies use the absolute path `github.com/grafana/grafana` within the `$GOPATH`,
|
|
|
|
you will need to put your version of the code in `$GOPATH/src/github.com/grafana/grafana` to be able
|
2016-05-02 13:36:06 -05:00
|
|
|
to develop and build grafana on a cloned repository. To do so, you can clone your forked repository
|
2016-10-20 15:08:12 -05:00
|
|
|
directly to `$GOPATH/src/github.com/grafana` or you can create a symbolic link from your version
|
|
|
|
of the code to `$GOPATH/src/github.com/grafana/grafana`. The last options makes it possible to change
|
2016-05-02 13:36:06 -05:00
|
|
|
easily the grafana repository you want to build.
|
|
|
|
```bash
|
|
|
|
go get github.com/*your_account*/grafana
|
|
|
|
mkdir $GOPATH/src/github.com/grafana
|
2016-09-18 04:13:00 -05:00
|
|
|
ln -s $GOPATH/src/github.com/*your_account*/grafana $GOPATH/src/github.com/grafana/grafana
|
2016-05-02 13:36:06 -05:00
|
|
|
```
|
|
|
|
|
2015-03-29 06:30:03 -05:00
|
|
|
### Building the backend
|
2016-02-10 05:08:04 -06:00
|
|
|
```bash
|
2015-03-29 06:30:03 -05:00
|
|
|
cd $GOPATH/src/github.com/grafana/grafana
|
2016-09-15 06:09:33 -05:00
|
|
|
go run build.go setup
|
2015-12-03 05:03:06 -06:00
|
|
|
go run build.go build
|
2015-03-29 06:30:03 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
### Building frontend assets
|
|
|
|
|
2017-02-03 09:15:37 -06:00
|
|
|
To build less to css for the frontend you will need a recent version of **node (v6+)**,
|
2015-03-29 06:30:03 -05:00
|
|
|
npm (v2.5.0) and grunt (v0.4.5). Run the following:
|
|
|
|
|
2016-02-10 05:08:04 -06:00
|
|
|
```bash
|
2017-01-06 00:28:43 -06:00
|
|
|
npm install -g yarn
|
2017-01-12 08:36:44 -06:00
|
|
|
yarn install --pure-lockfile
|
2016-04-25 11:44:26 -05:00
|
|
|
npm run build
|
2015-03-29 06:30:03 -05:00
|
|
|
```
|
|
|
|
|
2016-05-02 13:36:06 -05:00
|
|
|
To build the frontend assets only on changes:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
sudo npm install -g grunt-cli # to do only once to install grunt command line interface
|
2017-09-04 12:56:52 -05:00
|
|
|
grunt && grunt watch
|
2016-05-02 13:36:06 -05:00
|
|
|
```
|
|
|
|
|
2015-03-29 06:30:03 -05:00
|
|
|
### Recompile backend on source change
|
2016-09-15 06:09:33 -05:00
|
|
|
To rebuild on source change.
|
2016-02-10 05:08:04 -06:00
|
|
|
```bash
|
2015-03-29 06:30:03 -05:00
|
|
|
go get github.com/Unknwon/bra
|
|
|
|
bra run
|
|
|
|
```
|
|
|
|
|
|
|
|
### Running
|
2016-02-10 05:08:04 -06:00
|
|
|
```bash
|
2015-12-01 02:23:30 -06:00
|
|
|
./bin/grafana-server
|
2015-03-29 06:30:03 -05:00
|
|
|
```
|
|
|
|
|
2016-10-20 15:08:12 -05:00
|
|
|
Open grafana in your browser (default: `http://localhost:3000`) and login with admin user (default: `user/pass = admin/admin`).
|
2015-03-29 06:30:03 -05:00
|
|
|
|
|
|
|
### Dev config
|
|
|
|
|
|
|
|
Create a 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
|
2017-05-21 03:07:21 -05:00
|
|
|
1. custom.ini
|
2015-03-29 06:30:03 -05:00
|
|
|
|
2015-04-29 15:35:03 -05:00
|
|
|
## Create a pull request
|
2016-10-20 15:08:12 -05:00
|
|
|
Before or after you create a pull request, sign the [contributor license agreement](http://docs.grafana.org/project/cla/).
|
2015-12-01 02:19:14 -06:00
|
|
|
|
2015-04-29 15:35:03 -05:00
|
|
|
## Contribute
|
2014-08-12 02:23:25 -05:00
|
|
|
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!
|
2014-01-20 03:57:59 -06:00
|
|
|
|
2014-08-12 02:24:58 -05:00
|
|
|
## License
|
2014-03-31 09:22:55 -05:00
|
|
|
Grafana is distributed under Apache 2.0 License.
|
2015-02-05 03:10:39 -06:00
|
|
|
Work in progress Grafana 2.0 (with included Grafana backend)
|