Skip to main content

InfluxDB

InfluxDB is an open-source time series database developed by the company InfluxData.

An Influx sink Firehose (SINK_TYPE=influxdb) requires the following variables to be set along with Generic ones

SINK_INFLUX_URL

InfluxDB URL, it's usually the hostname followed by port.

  • Example value: http://localhost:8086
  • Type: required

SINK_INFLUX_USERNAME

Defines the username to connect to DB.

  • Example value: root
  • Type: required

SINK_INFLUX_PASSWORD

Defines the password to connect to DB.

  • Example value: root
  • Type: required

SINK_INFLUX_FIELD_NAME_PROTO_INDEX_MAPPING

Defines the mapping of fields and the corresponding proto index which can be used to extract the field value from the proto message. This is a JSON field. Note that Influx keeps a single value for each unique set of tags and timestamps. If a new value comes with the same tag and timestamp from the source, it will override the existing one.

  • Example value: "2":"order_number","1":"service_type", "4":"status"
    • Proto field value with index 2 will be stored in a field named 'order_number' in Influx and so on\
  • Type: required

SINK_INFLUX_TAG_NAME_PROTO_INDEX_MAPPING

Defines the mapping of tags and the corresponding proto index from which the value for the tags can be obtained. If the tags contain existing fields from field name mapping it will not be overridden. They will be duplicated. If ENUMS are present then they must be added here. This is a JSON field.

  • Example value: {"6":"customer_id"}
  • Type: optional

SINK_INFLUX_PROTO_EVENT_TIMESTAMP_INDEX

Defines the proto index of a field that can be used as the timestamp.

  • Example value: 5
  • Type: required

SINK_INFLUX_DB_NAME

Defines the InfluxDB database name where data will be dumped.

  • Example value: status
  • Type: required

SINK_INFLUX_RETENTION_POLICY

Defines the retention policy for influx database.

  • Example value: quarterly
  • Type: required
  • Default value: autogen

SINK_INFLUX_MEASUREMENT_NAME

This field is used to give away the name of the measurement that needs to be used by the sink. Measurement is another name for tables and it will be auto-created if does not exist at the time Firehose pushes the data to the influx.

  • Example value: customer-booking
  • Type: required