Gnocchi

Data Source

Gnocchi Datasource

    Grafana Gnocchi datasource Travis CI

    Gnocchi datasource for Grafana 3 and 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

    NameDescription
    NameThe data source name.
    DefaultDefault data source means that it will be pre-selected for new panels.
    UrlThe http protocol, ip and port of your Keystone or Gnocchi server (default port is usually 8080)
    AccessProxy = access via Grafana backend, Direct = access directory from browser.
    TokenA valid Keystone token
    ProjectThe keystone user
    UserThe Keystone user
    PasswordThe 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

    Open a graph in edit mode by click the title.

    The editor have 4 modes to retrieves metrics:

    • Dynamic aggregates (recommended way): Create a query to select all resources you need. Create an operation that select metric and do math on/between them. Set label to name each graph with text or with resource attributes.

    Other mode are mainly here old Gnocchi version that doesn't support Dynamic aggregates

    Each mode also have the aggregator method to use to get datapoints of the metrics.

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

    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.

    NameDescription
    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

    Install Plugin

    Version

    Dependencies:
    • Grafana 3.x.x