2017-10-22 07:03:26 +02:00
[Grafana ](https://grafana.com ) [](https://circleci.com/gh/grafana/grafana) [](https://goreportcard.com/report/github.com/grafana/grafana) [](https://codecov.io/gh/grafana/grafana)
2014-07-14 20:53:20 +02:00
================
2017-03-13 21:32:28 +01:00
[Website ](https://grafana.com ) |
2015-03-25 12:17:22 +01:00
[Twitter ](https://twitter.com/grafana ) |
2017-03-13 23:05:47 +01:00
[Community & Forum ](https://community.grafana.com )
2013-01-25 20:10:28 -08:00
2015-03-25 12:03:20 +01:00
Grafana is an open source, feature rich metrics dashboard and graph editor for
2015-11-12 13:50:57 +01:00
Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB.
2014-07-14 20:53:20 +02:00
2017-03-13 21:32:28 +01:00

2015-03-29 13:39:51 +02:00
2014-08-12 09:24:58 +02:00
## Installation
2017-09-07 15:26:08 +02:00
Head to [docs.grafana.org ](http://docs.grafana.org/installation/ ) and [download ](https://grafana.com/get )
2014-08-05 12:27:03 +02:00
the latest release.
2014-01-19 17:16:57 +01:00
2015-03-29 13:30:03 +02:00
If you have any problems please read the [troubleshooting guide ](http://docs.grafana.org/installation/troubleshooting/ ).
2014-04-09 12:36:35 +02:00
2014-08-12 09:24:58 +02:00
## Documentation & Support
2015-03-29 13:30:03 +02:00
Be sure to read the [getting started guide ](http://docs.grafana.org/guides/gettingstarted/ ) and the other feature guides.
2014-01-20 10:57:59 +01:00
2014-08-12 09:24:58 +02:00
## Run from master
2017-12-10 18:38:48 +02: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 21:32:28 +01:00
the latest master builds [here ](https://grafana.com/grafana/download )
2015-03-29 13:30:03 +02:00
### Dependencies
2018-03-14 21:07:55 +01:00
- Go 1.10
2017-04-12 06:38:37 +02:00
- NodeJS LTS
2015-03-29 13:30:03 +02:00
### Building the backend
2016-02-10 12:08:04 +01:00
```bash
2017-09-07 15:26:08 +02:00
go get github.com/grafana/grafana
2018-03-07 15:03:10 +03:00
cd $GOPATH/src/github.com/grafana/grafana
2016-09-15 13:09:33 +02:00
go run build.go setup
2015-12-03 12:03:06 +01:00
go run build.go build
2015-03-29 13:30:03 +02:00
```
### Building frontend assets
2017-10-02 10:55:56 +02:00
For this you need nodejs (v.6+).
2015-03-29 13:30:03 +02:00
2018-04-18 15:01:36 +02:00
To build the assets, rebuild on file change, and serve them by Grafana's webserver (http://localhost:3000):
2016-02-10 12:08:04 +01:00
```bash
2017-01-06 07:28:43 +01:00
npm install -g yarn
2017-01-12 15:36:44 +01:00
yarn install --pure-lockfile
2017-10-01 20:02:25 +02:00
npm run watch
```
2018-04-18 15:01:36 +02:00
Build the assets, rebuild on file change with Hot Module Replacement (HMR), and serve them by webpack-dev-server (http://localhost:3333):
```bash
yarn start
# OR set a theme
env GRAFANA_THEME=light yarn start
```
Note: HMR for Angular is not supported. If you edit files in the Angular part of the app, the whole page will reload.
2018-01-16 20:14:53 +01:00
Run tests
2017-10-01 20:02:25 +02:00
```bash
2018-01-16 20:14:53 +01:00
npm run jest
2017-10-01 20:02:25 +02:00
```
2018-01-16 20:14:53 +01:00
Run karma tests
2017-10-01 20:02:25 +02:00
```bash
2018-01-16 20:14:53 +01:00
npm run karma
2016-05-02 20:36:06 +02:00
```
2015-03-29 13:30:03 +02:00
### Recompile backend on source change
2017-10-02 10:55:56 +02:00
2016-09-15 13:09:33 +02:00
To rebuild on source change.
2016-02-10 12:08:04 +01:00
```bash
2015-03-29 13:30:03 +02:00
go get github.com/Unknwon/bra
bra run
```
2016-10-20 13:08:12 -07:00
Open grafana in your browser (default: `http://localhost:3000` ) and login with admin user (default: `user/pass = admin/admin` ).
2015-03-29 13:30:03 +02: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 15:07:21 +07:00
1. custom.ini
2015-03-29 13:30:03 +02:00
2017-10-02 10:55:56 +02:00
In your custom.ini uncomment (remove the leading `;` ) sign. And set `app_mode = development` .
2017-10-22 07:03:26 +02:00
### Running tests
2018-02-09 13:31:37 +01:00
#### Frontend
Execute all frontend tests
```bash
2018-02-09 13:34:10 +01:00
npm run test
2018-02-09 13:31:37 +01:00
```
2017-10-22 07:03:26 +02:00
Writing & watching frontend tests (we have two test runners)
- jest for all new tests that do not require browser context (React+more)
- Start watcher: `npm run jest`
- Jest will run all test files that end with the name ".jest.ts"
- karma + mocha is used for testing angularjs components. We do want to migrate these test to jest over time (if possible).
- Start watcher: `npm run karma`
- Karma+Mocha runs all files that end with the name "_specs.ts".
2018-02-09 13:31:37 +01:00
#### Backend
```bash
# Run Golang tests using sqlite3 as database (default)
2018-02-09 13:34:10 +01:00
go test ./pkg/...
2018-02-09 13:31:37 +01:00
2018-02-09 13:34:10 +01:00
# Run Golang tests using mysql as database - convenient to use /docker/blocks/mysql_tests
GRAFANA_TEST_DB=mysql go test ./pkg/...
2018-02-09 13:31:37 +01:00
# Run Golang tests using postgres as database - convenient to use /docker/blocks/postgres_tests
2018-02-09 13:34:10 +01:00
GRAFANA_TEST_DB=postgres go test ./pkg/...
2018-02-09 13:31:37 +01:00
```
2015-04-29 16:35:03 -04:00
## Contribute
2017-10-12 11:30:01 +02:00
2017-12-10 18:38:48 +02:00
If you have any idea for an improvement or found a bug, do not hesitate to open an issue.
2014-08-12 09:23:25 +02:00
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 10:57:59 +01:00
2017-10-12 11:30:01 +02:00
## Plugin development
2017-10-22 07:03:26 +02:00
Checkout the [Plugin Development Guide ](http://docs.grafana.org/plugins/developing/development/ ) and checkout the [PLUGIN_DEV.md ](https://github.com/grafana/grafana/blob/master/PLUGIN_DEV.md ) file for changes in Grafana that relate to
plugin development.
2017-10-12 11:30:01 +02:00
2014-08-12 09:24:58 +02:00
## License
2017-10-12 11:30:01 +02:00
2014-03-31 18:22:55 +04:00
Grafana is distributed under Apache 2.0 License.
2017-10-12 11:30:01 +02:00