GithubHelp home page GithubHelp logo

feli5 / grafana-gnocchi-datasource Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gnocchixyz/grafana-gnocchi-datasource

0.0 1.0 0.0 2.02 MB

Gnocchi datasource for Grafana 3 and 4

License: Apache License 2.0

JavaScript 9.15% Shell 2.05% TypeScript 79.75% HTML 9.05%

grafana-gnocchi-datasource's Introduction

Grafana Gnocchi datasource Travis CI

Gnocchi datasource for Grafana >= 4

Installation via grafana.net

$ sudo grafana-cli plugins install gnocchixyz-gnocchi-datasource

Installation from sources

$ npm install
$ ./run-tests.sh  # This also build the plugin under dist/

$ ln -s dist /var/lib/grafana/plugins/grafana-gnocchi-datasource
$ # or
$ cp -a dist /var/lib/grafana/plugins/grafana-gnocchi-datasource

Configuration Panel

Name Description
Name The data source name.
Default Default data source means that it will be pre-selected for new panels.
Url The http protocol, ip and port of your Keystone or Gnocchi server (default port is usually 8080)
Access Proxy = access via Grafana backend, Direct = access directory from browser.
Token A valid Keystone token
Project The keystone user
User The Keystone user
Password The Keystone password

Note: If the Keystone server is set as URL, the Gnocchi server will be autodiscovered. This works only if Access = Direct, and CORS is properly configured on Keystone and Gnocchi side.

Query editor

The editor leverage thes Dynamic Aggregate API of Gnocchi:

  • Select first the resource type you are looking for.
  • Create a query to select all resources you need.
  • Create an operation that selects metric and does math on/between them.
  • Set label to name each graph with text or with resource attributes.

The Query format is documented as STRING format in Resource search section of Gnocchi documentations. The Operation format is documented in Dynamic Aggregates section of Gnocchi documentations.

Other Query type exists for special use case and for old Gnocchi version that doesn't support Dynamic aggregates

Labels

Labels can be expressed with resources attributes and metric name. To do so attribute must be surrounded by ${} or prefixed by $.

For example, takes the metric regex "cpu_*", the label "$display_name-${host}.foo-$type $metric" and a query that returns these resources::

[
  {
    "display_name": "myfirstvm",
    "host": "compute1",
    "id": "6868da77-fa82-4e67-aba9-270c5ae8cbca",
    "image_ref": "http://image",
    "type": "instance",
    "server_group": "autoscalig_group",
    "metrics": {"cpu_util": "1634173a-e3b8-4119-9eba-fa9a4d971c3b"}
  },
  {
    "display_name": "mysecondvm",
    "host": "compute3",
    "id": "f898ba55-bbea-460f-985c-3d1243348304",
    "image_ref": "http://image",
    "type": "instance",
    "server_group": "autoscalig_group",
    "metrics": {"cpu_util": "58b233f4-65ba-4aeb-97ba-b8bc0feec97e",
                "cpu_time": "6ff95458-97b4-4b08-af03-7d18b05d277e"}
  }
]

The resulting labels are::

myfirstvm-compute1.foo-instance cpu_util mysecondvm-compute3.foo-instance cpu_util mysecondvm-compute3.foo-instance cpu_time

Templated queries

Gnocchi Datasource Plugin provides following functions in Variables values query field in Templating Editor.

Name Description
metrics(resource_id) Returns a list of metrics available for the resource identified by ‘resource_id’
resources(resource_type, attribute, query) Returns a list of resource attribute matching query.
resources(resource_type, attribute1, attribute2, query) Returns a list of resource attribute matching query, attribute1 is diplayed in selector, attribute1 used for templating.

For details of Query format, please refer to the Gnocchi and Gnocchi client documentations.

Current Limitation

Grafana doesn’t allow to query two different servers when using the proxy mode, so we are not able to query Keystone for a token and then query Gnocchi (Except if Gnocchi and Keystone live into the same HTTP host).

In direct mode, CORS MUST be enabled on Keystone and Gnocchi servers.

License

APACHE LICENSE Version 2.0, January 2004

grafana-gnocchi-datasource's People

Contributors

alexanderzobnin avatar ali5h avatar asu4ni avatar bobuhiro11 avatar bollig avatar christianchristensen avatar chupman avatar feli5 avatar heinrichvk avatar jd avatar kylebrandt avatar mark-ezhkov avatar matschaffer avatar mtanda avatar pdf avatar prepor avatar siavashs avatar sileht avatar tmonk42 avatar torkelo avatar waipeng avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.