grafana/README.md

125 lines
4.1 KiB
Markdown
Raw Normal View History

[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) [![codecov](https://codecov.io/gh/grafana/grafana/branch/master/graph/badge.svg)](https://codecov.io/gh/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
2017-12-18 09:54:09 -06:00
## Grafana v5 Alpha Preview
Grafana master is now v5.0 alpha. This is going to be the biggest and most foundational release Grafana has ever had, coming with a ton of UX improvements, a new dashboard grid engine, dashboard folders, user teams and permissions. Checkout out this [video preview](https://www.youtube.com/watch?v=BC_YRNpqj5k) of Grafana v5.
2014-08-12 02:24:58 -05:00
## Installation
2017-09-07 08:26:08 -05:00
Head to [docs.grafana.org](http://docs.grafana.org/installation/) and [download](https://grafana.com/get)
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-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
2017-12-10 10:38:48 -06: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-09-18 08:18:02 -05:00
- Go 1.9
- NodeJS LTS
2015-03-29 06:30:03 -05:00
### Building the backend
2016-02-10 05:08:04 -06:00
```bash
2017-09-07 08:26:08 -05:00
go get github.com/grafana/grafana
cd ~/go/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
For this you need nodejs (v.6+).
2015-03-29 06:30:03 -05:00
2016-02-10 05:08:04 -06:00
```bash
npm install -g yarn
yarn install --pure-lockfile
npm run watch
```
Run tests
```bash
npm run jest
```
Run karma tests
```bash
npm run karma
```
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
```
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
1. custom.ini
2015-03-29 06:30:03 -05:00
In your custom.ini uncomment (remove the leading `;`) sign. And set `app_mode = development`.
### Running tests
#### Frontend
Execute all frontend tests
```bash
$ npm run test
```
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".
#### Backend
```bash
# Run Golang tests using sqlite3 as database (default)
$ go test ./pkg/...
# Run Golang tests using mysql as database - convenient to use /docker/block/mysql_tests
$ GRAFANA_TEST_DB=mysql go test ./pkg/...
# Run Golang tests using postgres as database - convenient to use /docker/blocks/postgres_tests
$ GRAFANA_TEST_DB=postgres go test ./pkg/...
```
2015-04-29 15:35:03 -05:00
## Contribute
2017-10-12 04:30:01 -05:00
2017-12-10 10:38:48 -06: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
2017-10-12 04:30:01 -05:00
## Plugin development
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 04:30:01 -05:00
2014-08-12 02:24:58 -05:00
## License
2017-10-12 04:30:01 -05:00
Grafana is distributed under Apache 2.0 License.
2017-10-12 04:30:01 -05:00