National Park of Minnesota

    statsd-blueflood-backend

    0.0.5 • Public • Published

    Blueflood StatsD Backend Build Status

    This is a statsD backend that will send metrics aggregated in statsD to an instance of Blueflood.

    Blueflood Configuration

    The Blueflood statsD endpoint is new and has experimental status.
    See blueflood/pull/201.

    Assumed endpoint is http://host:port/v1.0/:tenantId/experimental/metrics/statsd.

    StatsD Configuration

    Your statsD configuration file will need a blueflood section similar to the way you would have one for graphite or the console if you were using those backends.

    Here are the values that are currently honored:

    • tenantId: (required) This tenantId will be used to publish metrics to Blueflood.
    • endpoint: (required) The location of the API. e.g.: 'http://metrics.example.com:8080'

    Example configuration:

    "blueflood": {
      "tenantId": "333333",
      "endpoint": "http://127.0.0.1:19000"
    },
    

    You can also send metrics into the Rackspace Cloud Metrics API service by adding the follwing auth section to the configuration:

    "blueflood": {
      "tenantId": "333333",
      "endpoint": "http://iad.metrics-ingest.api.rackspacecloud.com:80",
      "authModule": "./auth",
      "authClass": "RaxAuth",
      "authParams": {
        "raxusername": "my_cloud_user_name",
        "raxapikey": "my_rax_api_key"
      }
    }
    

    If you happen to use some other Openstack identity service, or even something home-grown, you can create your own authenticator, just make sure to implement the methods indicated by auth.EmptyAuth.

    Detailed Installation Instructions

    https://github.com/gdusbabek/blueflood-statsd-backend/wiki/Installing-the-Blueflood-Statsd-Backend

    Payload format

    Payloads sent to Blueflood are currently formatted like this:

    {
      "tenantId": "xxxxxxxx",
      "timestamp": 111111111,
      
      "gauges": [
        { 
          "name": "gauge_name",
          "value": 42
        },
        { 
          "name":"another_gauge",
          "value": 4343
        }
      ],
      
      "counters": [
        {
          "name": "counter_name",
          "value": 32,
          "rate": 2.32
        },
        {
          "name": "another_counter",
          "value": 4424,
          "rate": 52.1
        }
      ],
      
      "timers": [
        {
          "name": "timer_name",
          "count": 32,
          "rate": 2.3,
          "min": 1,
          "max": 5,
          "sum": 21,
          "avg": 2.1,
          "median": 3,
          "std": 1.01,
          "percentiles": {
            "999": 1.22222,
            "98": 1.11111
          },
          "histogram": {
            "bin_50": 0,
            "bin_100": 0,
            "bin_inf": 0
          }
        }
      ],
      
      "sets": [
        {
          "name": "set_name",
          "values": ["foo", "bar", "baz"]
        },
        {
          "name": "another_set",
          "values": ["boo", "far", "zab"]
        }
      ]
    }
    

    License

    This code is licensed under the Apache 2.0 open source license.

    Install

    npm i statsd-blueflood-backend

    DownloadsWeekly Downloads

    9

    Version

    0.0.5

    License

    none

    Last publish

    Collaborators

    • mburns
    • jirwin