gigapipe has no configuration files by design - just ENV
variables
Gigapipe OSS is K8s and Docker container friendly 😉
Each setup is different and requirements depend on the amount and volume of data and labels ingested.
Make sure you have sufficient memory and disk resources allocated for your node service and clickhouse server when dealing with large amounts of data and fingerprints. We suggest 8GB RAM or higher for most setups with 100k-1M fingerprints. Observe your daily and weekly data consumption to forecast your disk usage requirements. Compression codecs and other optimizations can be performed at the ClickHouse level. When in doubt, ask the community for suggestions.
The following ENV
parameters can be used to control gigapipe parameters and its backend settings
All parameters are optional, except for the CLICKHOUSE_SERVER related settings
ENV | Default | Usage |
---|---|---|
CLICKHOUSE_SERVER | localhost | Clickhouse Server address |
CLICKHOUSE_PORT | 9000 | Clickhouse Server port (binary) |
CLICKHOUSE_DB | qryn | Clickhouse Database Name |
CLICKHOUSE_AUTH | default: | Clickhouse Authentication (user:password) |
CLICKHOUSE_PROTO | tcp | Clickhouse Protocol (tcp, tls) |
CLICKHOUSE_TIMEFIELD | record_datetime | Clickhouse DateTime column for native queries |
CLUSTER_NAME | undefined | Clickhouse Cluster name |
STORAGE_POLICY | undefined | Clickhouse Cluster storage policy |
BULK_MAXAGE | 2000 | Max Age for Bulk Inserts |
BULK_MAXSIZE | 5000 | Max Size for Bulk Inserts |
BULK_MAXCACHE | 50000 | Max Labels in Memory Cache |
LABELS_DAYS | 7 | Max Days before Label rotation |
SAMPLES_DAYS | 7 | Max Days before Timeseries rotation |
HOST | 0.0.0.0 | HTTP API IP |
PORT | 3100 | HTTP API PORT |
QRYN_LOGIN | undefined | Basic HTTP Username |
QRYN_PASSWORD | undefined | Basic HTTP Password |
READONLY | false | Readonly Mode, no DB Init |
OMIT_CREATE_TABLES | false | Omit database provisioning on startup. Dangerous. |
ADVANCED_PROMETHEUS_MAX_SAMPLES | 5000000 | Max samples per a promql request |
CORS_ALLOW_ORIGIN. | * | CORS Allow Origin, default to any |
TEMPO_SPAN | 24 | Default span for Tempo queries in hours |
TEMPO_TAGTRACE | false | Optional tagging of TraceID (expensive) |
DEBUG | false | Debug Mode (for backwards compatibility) |
LOG_LEVEL | info | Log Level |
HASH | xxhash64 | Hash function using for fingerprints. Currently supported short-hash and xxhash64 (xxhash64 function) |
ALERTMAN_URL | false | Alertmanager API URL, ie: http://my_alertmanager_url:1234 |
ADVANCED_SAMPLES_ORDERING | timestamp_ns | Specify the 'ORDER BY' your samples table should use (for multiple use comma-separated list fingerprint,timestamp_ns) |
BULK_MAX_SIZE_BYTE | max size of the bulk in bytes (empty = infinite) | |
BULK_MAX_AGE_MS | 100 | max age of the bulk in milliseconds. Minimum value 100ms |
MODE | all | all , writer , reader , init_only (init db and exit) |