Configuration
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:
Name | Documentation | Decoder 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.
Name | Documentation | Decoder 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
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
idx.pg.backend_host
Set this to the correct host for the postgres database.
dp_graphite
dp_graphite
Configure a Graphite listener by specifying the bucket
where data is stored, as well as the listener port
and protocol
(typically tcp
):
listeners.dp_graphite.bucket = Graphite
listeners.dp_graphite.port = 2003
listeners.dp_graphite.protocol = tcp
Please note that the dp_graphite
decoder expects the following data in a data submission:
<metricname> <value> <timestamp>\n
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
dp_influx
Configure an InfluxDB listener by specifying the bucket
where data is stored, as well as the listener port
and protocol
(typically http
):
listeners.dp_influx.bucket = InfluxDB
listeners.dp_influx.port = 8086
listeners.dp_influx.protocol = http
dp_metrics2
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
):
listeners.dp_metrics2.bucket = Metrics2
listeners.dp_metrics2.port = 8087
listeners.dp_metrics2.protocol = tcp
dp_otsdb
dp_otsdb
Configure an OpenTSDB listener by specifying the bucket
where data is stored, as well as the listener port
and protocol
(typically tcp
):
listeners.dp_otsdb.bucket = OpenTSDB
listeners.dp_otsdb.port = 4242
listeners.dp_otsdb.protocol = tcp
prometheus_scrapers
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.
prometheus_scrapers.my_scraper_name.bucket = prom
prometheus_scrapers.my_scraper_name.url = http://localhost:9100/metrics
prometheus_scrapers.my_scraper_name.frequency = 10s
dp_prom_writer
dp_prom_writer
The Prometheus remote writer can be used to have Prometheus export data into dalmatinerdb for long term storage and visualization.
listeners.dp_prom_writer.bucket = prometheus
listeners.dp_prom_writer.port = 1234
listeners.dp_prom_writer.protocol = http
Configuration changes
In order for configuration changes to take effect, the service must be restarted.
Updated over 6 years ago