Skip to content

Commit e27c24a

Browse files
authored
feat: introduce a few env vars to config otel collector (#864)
- Support `CLICKHOUSE_ENDPOINT` to switch aio clickhouse endpoint (Ref: HDX-1758) - Support `HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE ` (Ref: HDX-1786) Support command like ``` docker run -e CLICKHOUSE_ENDPOINT=<CH-CLOUD-ENDPOINT> -e CLICKHOUSE_USER=default -e CLICKHOUSE_PASSWORD='BLABLA' -e HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE =hyperdx -p 8080:8080 -p 4317:4317 -p 4318:4318 hyperdx/hyperdx-local:2-nightly ``` So users can export data to other services like clickhouse cloud
1 parent 98e19b7 commit e27c24a

File tree

7 files changed

+21
-11
lines changed

7 files changed

+21
-11
lines changed

.env

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,8 @@ HYPERDX_APP_URL=http://localhost
2020
HYPERDX_LOG_LEVEL=debug
2121
HYPERDX_OPAMP_PORT=4320
2222

23+
# Otel/Clickhouse config
24+
HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE=default
25+
2326
# TEMPORARY: local development
2427
HYPERDX_API_KEY=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

docker-compose.ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ services:
66
target: dev
77
environment:
88
CLICKHOUSE_ENDPOINT: 'tcp://ch-server:9000?dial_timeout=10s'
9+
HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE: ${HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE}
910
HYPERDX_API_KEY: ${HYPERDX_API_KEY}
1011
HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL}
1112
volumes:

docker-compose.dev.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ services:
1111
service.name: 'hdx-oss-dev-db'
1212
image: mongo:5.0.14-focal
1313
volumes:
14-
- .volumes/db:/data/db
14+
- .volumes/db_dev:/data/db
1515
ports:
1616
- 27017:27017
1717
networks:
@@ -24,8 +24,9 @@ services:
2424
context: ./docker/otel-collector
2525
target: dev
2626
environment:
27-
CLICKHOUSE_PROMETHEUS_METRICS_ENDPOINT: 'ch-server:9363'
2827
CLICKHOUSE_ENDPOINT: 'tcp://ch-server:9000?dial_timeout=10s'
28+
CLICKHOUSE_PROMETHEUS_METRICS_ENDPOINT: 'ch-server:9363'
29+
HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE: ${HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE}
2930
HYPERDX_API_KEY: ${HYPERDX_API_KEY}
3031
HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL}
3132
OPAMP_SERVER_URL: 'http://host.docker.internal:${HYPERDX_OPAMP_PORT}'
@@ -55,8 +56,8 @@ services:
5556
volumes:
5657
- ./docker/clickhouse/local/config.xml:/etc/clickhouse-server/config.xml
5758
- ./docker/clickhouse/local/users.xml:/etc/clickhouse-server/users.xml
58-
- .volumes/ch_data:/var/lib/clickhouse
59-
- .volumes/ch_logs:/var/log/clickhouse-server
59+
- .volumes/ch_data_dev:/var/lib/clickhouse
60+
- .volumes/ch_logs_dev:/var/log/clickhouse-server
6061
restart: on-failure
6162
networks:
6263
- internal

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ services:
2929
image: ${HDX_IMAGE_REPO}/${OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB}:${IMAGE_VERSION}
3030
environment:
3131
CLICKHOUSE_ENDPOINT: 'tcp://ch-server:9000?dial_timeout=10s'
32+
HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE: ${HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE}
3233
HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL}
3334
OPAMP_SERVER_URL: 'http://app:${HYPERDX_OPAMP_PORT}'
3435
ports:

docker/hyperdx/entry.local.base.sh

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ export FRONTEND_URL="${FRONTEND_URL:-${HYPERDX_APP_URL:-http://localhost}:${HYPE
1212
export OPAMP_PORT=${HYPERDX_OPAMP_PORT:-4320}
1313

1414
# Internal Services
15-
export CLICKHOUSE_ENDPOINT="tcp://ch-server:9000?dial_timeout=10s"
15+
export HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE="${HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE:-default}"
16+
export CLICKHOUSE_ENDPOINT="${CLICKHOUSE_ENDPOINT:-tcp://ch-server:9000?dial_timeout=10s}"
1617
export MONGO_URI="mongodb://db:27017/hyperdx"
1718
export OPAMP_SERVER_URL="http://127.0.0.1:${OPAMP_PORT}"
1819

@@ -32,12 +33,14 @@ echo "127.0.0.1 db" >> /etc/hosts
3233

3334
echo "Visit the HyperDX UI at $FRONTEND_URL/search"
3435
echo ""
35-
echo "Local App Mode: $IS_LOCAL_APP_MODE"
36-
echo ""
3736
echo "Send OpenTelemetry data via"
3837
echo "http/protobuf: OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318"
3938
echo "gRPC: OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317"
4039
echo ""
40+
echo "Exporting data to ClickHouse:
41+
Endpoint: $CLICKHOUSE_ENDPOINT
42+
Database: $HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE
43+
"
4144
echo ""
4245

4346
# Start Clickhouse Server

docker/otel-collector/config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,10 @@ exporters:
112112
sampling_initial: 5
113113
sampling_thereafter: 200
114114
clickhouse/rrweb:
115+
database: ${env:HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE}
115116
endpoint: ${env:CLICKHOUSE_ENDPOINT}
116-
database: default
117-
username: ${env:CLICKHOUSE_USER}
118117
password: ${env:CLICKHOUSE_PASSWORD}
118+
username: ${env:CLICKHOUSE_USER}
119119
ttl: 72h
120120
logs_table_name: hyperdx_sessions
121121
timeout: 5s
@@ -125,10 +125,10 @@ exporters:
125125
max_interval: 30s
126126
max_elapsed_time: 300s
127127
clickhouse:
128+
database: ${env:HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE}
128129
endpoint: ${env:CLICKHOUSE_ENDPOINT}
129-
database: default
130-
username: ${env:CLICKHOUSE_USER}
131130
password: ${env:CLICKHOUSE_PASSWORD}
131+
username: ${env:CLICKHOUSE_USER}
132132
ttl: 72h
133133
timeout: 5s
134134
retry_on_failure:

smoke-tests/otel-collector/docker-compose.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ services:
3131
environment:
3232
- CLICKHOUSE_ENDPOINT=tcp://ch-server:9000?dial_timeout=10s
3333
- CLICKHOUSE_PROMETHEUS_METRICS_ENDPOINT=ch-server:9363
34+
- HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE=default
3435
- HYPERDX_LOG_LEVEL=info
3536
ports:
3637
- 4318:4318 # OTLP http receiver

0 commit comments

Comments
 (0)