InfluxDB
Time series: metrics, sensor readings and events
Time series: metrics, sensor readings and events, written and queried by time. InfluxDB 2, queried with Flux or InfluxQL, beside your database rather than in place of it.
Your application finds it at INFLUXDB_URL (INFLUXDB_HOST, port 8086), with
the organisation in INFLUXDB_ORG, a first bucket in INFLUXDB_BUCKET and an
operator token in INFLUXDB_TOKEN, which is what its client libraries are
configured with. All of them are in its environment. The token
is made for each environment and never changes; make more buckets, and tokens
of their own for other readers, through its API.
$client = new InfluxDB2\Client([
'url' => getenv('INFLUXDB_URL'),
'token' => getenv('INFLUXDB_TOKEN'),
'org' => getenv('INFLUXDB_ORG'),
'bucket' => getenv('INFLUXDB_BUCKET'),
]);
Its data is kept on the machine's own disk and survives a restart. It is
in the nightly backup, beside your database and files: what influx backup writes, kept offsite, and restored from the environment's
Backups tab with its users and tokens (Backups).
Moved to another machine, its data goes with it
(what a move costs).
It needs at least 1 GB of its machine's memory (see
what each service needs).
The platform turns off what reaches outside the container: usage statistics to InfluxData, templates fetched from a URL, and requests from tasks to private addresses.
From your own computer — the web interface, a desktop client — vallic tunnel <env> influxdb opens it on http://127.0.0.1:8086. See Tunnels.
Versions
| Version | Status |
|---|---|
2.9.1 |
Supported, and the default |
2.8.0 |
Supported |
Pin the version, not the build: name 2.9.1 and the platform matches it to the
current build, so a security rebuild reaches you without anybody editing a
repository.
The version you name is the one your environment runs from the next deploy. This service keeps data, and not every version can read another's — before you change it, read Changing a service's version.
What you can change
In vallic.yaml — what each one does is on Service settings:
services:
- influxdb:
version: '2.9.1'
environment:
INFLUXD_LOG_LEVEL: …
INFLUXD_SESSION_LENGTH: …
INFLUXD_SESSION_RENEW_DISABLED: …
INFLUXD_QUERY_QUEUE_SIZE: …
INFLUXD_INFLUXQL_MAX_SELECT_POINT: …
INFLUXD_INFLUXQL_MAX_SELECT_SERIES: …
INFLUXD_INFLUXQL_MAX_SELECT_BUCKETS: …
INFLUXD_STORAGE_WRITE_TIMEOUT: …
Anything not on this list refuses the deploy, naming the variable — rather than being accepted and quietly ignored.