Nastavení InfluxDB
Konfigurace Docker-compose.yaml pro Influx v1.x
influxdb:
restart: on-failure:3
image: influxdb:1.8
ports:
- "8083:8083"
- "8086:8086"
- "8090:8090"
volumes:
- /<path_on_host>/<where_you_want_data>:/var/lib/influxdb
environment:
- INFLUXDB_DB=<your_db>
- INFLUXDB_USER=telegraf
- INFLUXDB_ADMIN_ENABLED=true
- INFLUXDB_ADMIN_USER=<your_user>
- INFLUXDB_ADMIN_PASSWORD=<your_password>
logging:
options:
max-size: 10m
Konfigurace Docker-compose.yaml pro Influx v2.x
influxdb:
image: influxdb:2.0.4
restart: 'always'
ports:
- "8086:8086"
volumes:
- /data/influxdb/data:/var/lib/influxdb2
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=telegraf
- DOCKER_INFLUXDB_INIT_PASSWORD=my-password
- DOCKER_INFLUXDB_INIT_ORG=my-org
- DOCKER_INFLUXDB_INIT_BUCKET=my-bucket
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-super-secret-auth-token
Spuštění InfluxDB kontejneru
docker-compose up -d
Použití uživatelského rozhraní na:
http://localhost:8086/
Jak zapisovat/mazat data použitím CLI influx:
docker exec -it <influx-container> bash
influx write \
-b my-bucket \
-o my-org \
-p s \
'myMeasurement,host=myHost testField="testData" 1556896326' \
-t ${your-token}
influx delete \
-bucket my-bucket \
--org my-org \
--start 2001-03-01T00:00:00Z \
--stop 2021-04-14T00:00:00Z \
--token ${your-token}
Nastavení politiky uchovávání dat
Politika uchovávání dat určuje, jak dlouho chcete data v InfluxDB uchovávat. Nastavíte název své politiky, kterou databázi ovlivňuje, jak dlouho budete data uchovávat, replikaci a nakonec skupinu (DEFAULT v níže uvedeném případě). DEFAULT je používán pro všechny zdroje, které při vkládání dat do InfluxDB nedefinují skupinu.
docker exec <container_name> influx -execute CREATE RETENTION POLICY "<name_your_policy>" ON "<your_db>" DURATION 47h60m REPLICATION 1 DEFAULT
Úprava existující politiky
docker exec <container_name> influx -execute ALTER RETENTION POLICY "autogen" on "<dbs>/<affected>" duration 100d
Mazání starých dat
Dbějte na uvozovky
delete from "<collection>" where "<field>" = '<value>'
Mazání starých dat v konkrétním poli
Když přeconfigurujete své zdroje, můžete se chtít zbavit některých starých hodnot v konkrétních polích, aby nezahlcovaly vaše vizualizace. Můžete tak učinit použitím následujícího příkazu:
docker exec <container_name> influx -execute DROP SERIES WHERE "<tag_key>" = '<tag_value>'
Snižování podrobností
https://docs.influxdata.com/influxdb/v1.8/guides/downsample_and_retain/ pokud chcete použít více pravidel pro různé zdroje dat, použijte jiný název skupiny než DEFAULT a nakonfigurujte své zdroje odpovídajícím způsobem, například v telegrafu použijte:
Příklad konkrétních politik retention (telegraf)
Používá se, když chcete nastavit různou retenci pro různé zdroje.
[[outputs.influxdb]
]
## Název existující politiky uchovávání dat, do které se bude zapisovat. Prázdný řetězec zapisuje do
## výchozí politiky uchovávání. Platí pouze při použití HTTP.
# retention_policy = "**telegraf1**"
docker exec <container_name> influx -execute CREATE RETENTION POLICY "<name_your_policy>" ON "<your_db>" DURATION 47h60m REPLICATION 1 **telegraf1**