A full Dalmatiner setup consists of multiple components. Below is an architecture diagram with all the components available. Not all are required so it's worth reading what each piece does.
For testing we provide a all in one docker image that is build off the dev branch of dalmatinerdb and contains most components preconfigured.
Please not that since it's Linux (meh) you're probably not getting ZFS unless you have your docker host configured to use it.
The main metric store. Follow the Installation manual to install it. (required)
The front end that contains an HTTP endpoint, the query engine as well as a simple UI. You can follow the Installation manual to install it. (required)
The Dalmatiner Proxy allows you to use different protocols to store data in DB, it is not strictly required but it helps getting started with Dalmatiner when you already have other services set up. (recommended)
- InfluxDB (http)
- Prometheus (including scraping)
Postgres is used for metric metadata (tags / labels). You can run Dalmatiner with a variety of indexers, however, we strongly advise using Postgres. You can follow the Installation manual to install it. (recommended)
Not strictly a part of Dalmatiner. Tachyon is an illumos Monitoring system that was built around DalmatinerDB and uses it to store it's data. (optional)
Various client libraries exist for DalmatinerDB. Check out Github for the latest versions
The following configuration has been benchmarked at an average of 3 million metrics per second write performance.
- 16 CPU, 60GB memory, SSD disk
- ZFS filesystem on SSD disk for
ring_size = 16(in dalmatinerdb.conf)
cache_points = 600(in dalmatinerdb.con)
For new installations we recommend installing the DalmatinerDB, DalmatinerFE, Dalmatiner Proxy and Grafana on the same server. These can be split out later as required to help scale.