EnergyLink App para mostrar información del mercado y resultados de las operaciones

Torkel Ödegaard 7848a35941 Merge pull request #524 from acedrew/master пре 11 година
sample e1688275a8 Fixed and compacted rules пре 12 година
src 012ffcf6f6 Bug in when using % sign in legends (aliases), fixed by removing url decoding of metric names (Fixes #506) пре 11 година
tasks e8c11251de fix for build step that replaces @grafanaVersion@ with correct version string пре 11 година
.gitignore f70bf61ff6 Added vim swp files to gitignore пре 11 година
.jscs.json ce8bdabab8 Adding JSCS (javascript style checker) пре 11 година
.jshintrc e2dae1f484 cleanup of unused code, small style changes пре 11 година
.travis.yml d2bae43d26 Adding travis-ci build пре 12 година
CHANGELOG.md 012ffcf6f6 Bug in when using % sign in legends (aliases), fixed by removing url decoding of metric names (Fixes #506) пре 11 година
CONTRIBUTING.md a76d9b87f0 Improved markdown formatting in the contributing page. пре 11 година
Gruntfile.js aec9a42ee1 Skeleton API docs пре 12 година
LICENSE.md c679a24c03 updated license and added notice, hard to know how to handle attribution, and copyright, wish kibana src files had license headers пре 12 година
NOTICE.md c679a24c03 updated license and added notice, hard to know how to handle attribution, and copyright, wish kibana src files had license headers пре 12 година
README.md dfe0314ba0 Added nginx config examples for CORS headers, and CORS selective reflection пре 11 година
grafana.sublime-project e19d3a531c parser and lexer is working ok пре 12 година
latest.json 2fbb87e17a fix jshint and updated changelog with PR #500 пре 11 година
package.json 810f46c450 updated karma dependencies in package.json пре 11 година

README.md

Grafana Build Status

A beautiful, easy to use and feature rich Graphite dashboard replacement and graph editor. Visit grafana.org for screenshots, videos and feature descriptions.

Features

Graphite Target Editor

  • Graphite target expression parser
  • Quickly add / edit / remove function (video demo)
  • Function parameters can be easily changed
  • Quickly navigate graphite metric structure
  • Templating
  • Integrated links to function documentation
  • Rearrange function order
  • Native Graphite PNG render support

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
  • Axis labels
  • Grid thresholds, axis labels
  • Annotations

Dashboards

InfluxDB

Requirements

Grafana is very easy to install. It is a client side web app with no backend. Any webserver will do. Optionally you will need ElasticSearch if you want to be able to save and load dashboards quickly instead of json files or local storage.

Installation

  • Download and extract the latest release.
  • Rename config.sample.js to config.js, then change graphiteUrl and elasticsearch to point to the correct urls. The urls entered here must be reachable by your browser.
  • Point your browser to the installation.

To run from master:

  • Clone this repository
  • Start a web server in src folder
  • Or create a optimized & minified build:
    • npm install (requires nodejs)
    • grunt build (requires grunt-cli)

If you use ansible for provisioning and deployment ansible-grafana should get you started.

When you have Grafana up an running, read the Getting started guide for an introduction on how to use Grafana and/or watch this video for a guide in creating a new dashboard and for creating templated dashboards.

Graphite server config

If you haven't used an alternative dashboard for graphite before you need to enable cross-domain origin request. For Apache 2.x:

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, OPTIONS"
Header set Access-Control-Allow-Headers "origin, authorization, accept"

Note that using "*" leaves your graphite instance quite open so you might want to consider using "http://my.graphite-dom.ain" in place of "*"

Here is the same thing, in nginx format:

add_header  "Access-Control-Allow-Origin" "*"; 
add_header  "Access-Control-Allow-Credentials" "true";
add_header  "Access-Control-Allow-Methods" "GET, OPTIONS";
add_header  "Access-Control-Allow-Headers" "Authorization, origin, accept";

If your Graphite web is protected by basic authentication, you have to enable the HTTP verb OPTIONS, origin (no wildcards are allowed in this case) and add Access-Control-Allow-Credentials. This looks like the following for Apache:

Header set Access-Control-Allow-Origin "http://mygrafana.com:5656"
Header set Access-Control-Allow-Credentials true

<Location />
    AuthName "graphs restricted"
    AuthType Basic
    AuthUserFile /etc/apache2/htpasswd
    <LimitExcept OPTIONS>
      require valid-user
    </LimitExcept>
</Location>

And in nginx:

auth_basic            "Restricted";
auth_basic_user_file  /path/to/my/htpasswd/file;
if ($http_origin ~* (https?://[^/]*\.somedomain\.com(:[0-9]+)?)) {  #Test if request is from allowed domain, you can use multiple if
    set $cors "true";                                               #statements to allow multiple domains, simply setting $cors to true in each one.
}
if ($cors = 'true') {
    add_header  Access-Control-Allow-Origin $http_origin;           #this mirrors back whatever domain the request came from as authorized, as
    add_header  "Access-Control-Allow-Credentials" "true";          #as long as it matches one of your if statements
    add_header  "Access-Control-Allow-Methods" "GET, OPTIONS";
    add_header  "Access-Control-Allow-Headers" "Authorization, origin, accept";
}

Roadmap

  • Improve and refine the target parser and editing
  • Improve graphite import feature
  • Refine and simplify common tasks
  • More panel types (not just graphs)
  • Use elasticsearch to search for metrics
  • Improve template support
  • Annotate graph by querying ElasticSearch for events (or other event sources)

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!

Clone repository:

  • npm install
  • grunt server (starts development web server in src folder)
  • grunt (runs jshint and less -> css compilation)

Notice

This software is based on the great log dashboard kibana.

License

Grafana is distributed under Apache 2.0 License.