The configuration file can be found in `/data/dalmatinerpx/etc/dpx.conf`.

## Push-based listeners

The proxy allows listeners to be configured for following line protocols:

NameDocumentationDecoder name
Graphiteο»Ώ[Graphite plaintext protocol](πŸ”—ο»Ώ)ο»Ώdp_graphite
Influx DBο»Ώ[Influx line protocol](πŸ”—ο»Ώ)ο»Ώdp_influx
Metrics2.0ο»Ώ[Metrics2.0 spec](πŸ”—ο»Ώ)ο»Ώdp_metrics2
OpenTSDBο»Ώ[OpenTSDB user guide](πŸ”—ο»Ώ)ο»Ώdp_otsdb
Prometheus Writerο»Ώ
dp_prom_writer

## Pull-based scrapers

The above protocols all follow a 'push-based' approach. A 'pull-based' approach is also supported by the proxy. To this end, only the Prometheus exposition format is currently supported.

NameDocumentationDecoder name
Prometheusο»Ώ[Prometheus exposition formats](πŸ”—ο»Ώ)ο»Ώdp_prometheus

Multiple instances

It is possible to configure the proxy to have more than one listener or scraper for the same protocol. In this case the port should be unique.

## Configuration file

## `idx.backend`

The indexer backend, should be set to `dqe_idx_pg`, which is required for normal use. The `dqe_idx_ddb` setting is for experimental use only and is deprecated.

## `idx.pg.backend_host`

Set this to the correct host for the postgres database.

## `dp_graphite`

Configure a Graphite listener by specifying the `bucket` where data is stored, as well as the listener `port` and `protocol` (typically `tcp`):

ο»Ώ

Please note that the `dp_graphite` decoder expects the following data in a data submission:

ο»Ώ

The `\n` is added for clarification. Depending on how you are feeding `dp_graphite`, the `\n` may or may not be needed to be sent explicitly, this depends on your client. For example if you use the official Graphite `nc` example to send data to `dp_graphite` nc automatically sends a `\n`, your client may require it to be sent. Currently, if the `\n` is not sent `dp_graphite` will wait for it, unless your client closes the connection, in which case `dp_graphite` will not error, it just will not accept the data as being valid to process and it will discard the data seemingly, without any errors.

## `dp_influx`

Configure an InfluxDB listener by specifying the `bucket` where data is stored, as well as the listener `port` and `protocol` (typically `http`):

ο»Ώ

## `dp_metrics2`

Configure a Metrics2.0 listener by specifying the `bucket` where data is stored, as well as the listener `port` and `protocol` (typically `tcp`):

ο»Ώ

## `dp_otsdb`

Configure an OpenTSDB listener by specifying the `bucket` where data is stored, as well as the listener `port` and `protocol` (typically `tcp`):

ο»Ώ

## `prometheus_scrapers`

Configure an prmometheus scrapper by specifying the `name` of the scraper as prefix to several properties. These properties include the `bucket` where data is stored, as well as the `url` from which to scrape and the `frequency` with which to scrape it.

ο»Ώ

## `dp_prom_writer`

The Prometheus remote writer can be used to have Prometheus export data into dalmatinerdb for long term storage and visualization.

ο»Ώ

Configuration changes

In order for configuration changes to take effect, the service must be restarted.