Skip to content

High series cardinality #26

@cryptk

Description

@cryptk

The way that mutator-influxdb-line-protocol.rb works, it creates very high series cardinality. Every individual metric that gets passed in ends up being a different series. Instead, it should be altered so that an individual check is a series, custom tags get applied to that, and the individual metrics that check creates are added as separate fields onto the same series.

Lets take https://github.com/sensu-plugins/sensu-plugins-mysql/blob/master/bin/metrics-mysql-graphite.rb for example. Running this metric/check through the mutator extension does indeed get your metrics into influxdb, but it does so in a very non-efficient way. That check generates almost 100 different series in influxdb after it runs through the mutator extension. What it should do instead is create a single series (perhaps named something like somehostname_mysql_metrics) and that single series has ~100 fields on it.

My big question is, should this change be done to the existing mutator extension (which would likely warrant a major version bump) or should a new mutator extension be created that stores the data in this new way?

Modifying the existing one likely wouldn't be too much of an issue because I do not foresee very many people using it given that it stores data in ways that are fairly antithetical to how influxdb should be used. For reference, check out the influxdb schema design documentation at https://docs.influxdata.com/influxdb/v1.0/concepts/schema_and_data_layout/

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions