Links
Comment on page

Aggregation Rules API

Contents
Aggregation rules consolidate the averaged values of many metrics into one, allowing for speedy graph rendering and visualization. Managing aggregation rules can be done easily with Hosted Graphite. Learn more about what our aggregation rules do, and how to use our Aggregation Feature here.
POST /v1/aggregates/
Request format:
{
"pattern": "string",
"output": "string"
}
Parameters:
  • pattern[REQUIRED]: Regex or node pattern to match ingested metrics to.
  • output[REQUIRED]: Metric output, when a metric is matched with the pattern, those metrics will be mapped to this output and appear in your account.
Responses:
  • 200: The aggregation rule was created successfully. Returns created aggregation’s ID.
  • 400: Creation failed. Pattern or output is an invalid input (or not provided). Or the aggregation rule creation failed because the pattern is too computationally expensive to match against your metric names. If this keeps happening, please contact support .
  • 403: Creation failed, you have reached the limit for your account, contact support.
  • 409: Creation failed, aggregation with this pattern & output already exists.
  • 500: Creation failed due to a server error - this shouldn’t happen. If this keeps happening, please let us know by contacting support.
Curl Example:
curl -H "Content-Type: application/json" -X POST -d \
'{"pattern": "servers.*.requests.<response_code>", "output": "servers.all.requests.<response_code>"}' \
"https://[email protected]/v1/aggregates/"
Creates an aggregation with the pattern: servers.*.requests.<response_code> and the output servers.all.requests.<response_code>.
Metrics that look like servers.server-0001.requests.200 and servers.server-0002.requests.200 would appear in your account as aggregates.servers.all.requests.200.
Metrics that look like servers.server-0001.requests.404 and servers.server-0002.requests.404 would appear in your account as aggregates.servers.all.requests.404.
GET /v1/aggregates/
Responses:
  • 200: List of your aggregation rules.
GET /v1/aggregates/<aggregation_id>/
Responses:
  • 200: Aggregation with passed ID if it exists, empty list otherwise.
Curl Example:
curl "https://YOUR-API-KEY@api.hostedgraphite.com/v1/aggregates/<optional_id>/"
Lists your aggregations or individual aggregation if the optional ID is passed.
DELETE /v1/aggregates/<aggregate_id>/
Responses:
  • 200: Aggregation was successfully deleted.
  • 400: No aggregation ID passed.
  • 412: Aggregation with passed ID does not exist.
  • 500: Delete failed, please try again.
Curl Example:
curl -X DELETE "https://[email protected]/v1/aggregates/<aggregate_id>/"
Delete aggregation rule with passed id.
To edit an aggregation rule, you can do this through the Hosted Graphite UI. Additionally, aggregation rules have no state, so it is safe to delete and re-create them. Learn more about our Aggregate Rules Feature.