2024-12-07 00:27:23 +00:00
|
|
|
name: hdx-oss
|
2023-09-13 03:08:05 +00:00
|
|
|
services:
|
2024-12-17 18:29:54 +00:00
|
|
|
# ONLY USED FOR DEMO SSL SETUP
|
|
|
|
|
# nginx:
|
|
|
|
|
# image: nginx:1.27.3
|
|
|
|
|
# volumes:
|
|
|
|
|
# - ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
|
|
|
|
|
# - ./docker/nginx/ssl:/etc/nginx/ssl
|
|
|
|
|
# - .volumes/nginx_logs:/var/log/nginx
|
|
|
|
|
# ports:
|
|
|
|
|
# - 80:80
|
|
|
|
|
# - 443:443
|
|
|
|
|
# networks:
|
|
|
|
|
# - internal
|
|
|
|
|
# depends_on:
|
|
|
|
|
# - app
|
2023-09-13 03:08:05 +00:00
|
|
|
db:
|
|
|
|
|
image: mongo:5.0.14-focal
|
|
|
|
|
volumes:
|
|
|
|
|
- .volumes/db:/data/db
|
2025-05-21 03:56:20 +00:00
|
|
|
# WARNING: Exposing the database port will make it accessible from outside the container,
|
|
|
|
|
# potentially allowing unauthorized access. If you uncomment the ports below,
|
|
|
|
|
# ensure to secure your database (e.g., with strong authentication, proper network rules, and firewalls).
|
|
|
|
|
# ports:
|
|
|
|
|
# - 27017:27017
|
2023-09-13 03:08:05 +00:00
|
|
|
networks:
|
|
|
|
|
- internal
|
2023-09-13 04:25:01 +00:00
|
|
|
otel-collector:
|
2025-05-22 18:59:46 +00:00
|
|
|
image: ${HDX_IMAGE_REPO}/${OTEL_COLLECTOR_IMAGE_NAME_DOCKERHUB}:${IMAGE_VERSION}
|
2023-10-18 19:01:44 +00:00
|
|
|
environment:
|
2025-05-22 05:56:18 +00:00
|
|
|
CLICKHOUSE_ENDPOINT: 'tcp://ch-server:9000?dial_timeout=10s'
|
2025-05-28 18:54:13 +00:00
|
|
|
HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE: ${HYPERDX_OTEL_EXPORTER_CLICKHOUSE_DATABASE}
|
2023-10-18 19:01:44 +00:00
|
|
|
HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL}
|
2025-05-28 16:51:10 +00:00
|
|
|
OPAMP_SERVER_URL: 'http://app:${HYPERDX_OPAMP_PORT}'
|
2023-09-13 03:08:05 +00:00
|
|
|
ports:
|
|
|
|
|
- '13133:13133' # health_check extension
|
|
|
|
|
- '24225:24225' # fluentd receiver
|
|
|
|
|
- '4317:4317' # OTLP gRPC receiver
|
|
|
|
|
- '4318:4318' # OTLP http receiver
|
|
|
|
|
- '8888:8888' # metrics extension
|
|
|
|
|
restart: always
|
|
|
|
|
networks:
|
|
|
|
|
- internal
|
|
|
|
|
depends_on:
|
|
|
|
|
- ch-server
|
2024-12-07 00:27:23 +00:00
|
|
|
app:
|
2025-05-22 18:59:46 +00:00
|
|
|
image: ${HDX_IMAGE_REPO}/${IMAGE_NAME_DOCKERHUB}:${IMAGE_VERSION}
|
2023-09-13 03:08:05 +00:00
|
|
|
ports:
|
2023-09-22 21:41:19 +00:00
|
|
|
- ${HYPERDX_API_PORT}:${HYPERDX_API_PORT}
|
2024-12-07 00:27:23 +00:00
|
|
|
- ${HYPERDX_APP_PORT}:${HYPERDX_APP_PORT}
|
2023-09-13 03:08:05 +00:00
|
|
|
environment:
|
2024-12-07 00:27:23 +00:00
|
|
|
FRONTEND_URL: ${HYPERDX_APP_URL}:${HYPERDX_APP_PORT}
|
2023-09-13 03:08:05 +00:00
|
|
|
HYPERDX_API_KEY: ${HYPERDX_API_KEY}
|
2024-12-07 00:27:23 +00:00
|
|
|
HYPERDX_API_PORT: ${HYPERDX_API_PORT}
|
|
|
|
|
HYPERDX_APP_PORT: ${HYPERDX_APP_PORT}
|
|
|
|
|
HYPERDX_APP_URL: ${HYPERDX_APP_URL}
|
2023-10-18 19:01:44 +00:00
|
|
|
HYPERDX_LOG_LEVEL: ${HYPERDX_LOG_LEVEL}
|
2023-09-13 03:08:05 +00:00
|
|
|
MINER_API_URL: 'http://miner:5123'
|
|
|
|
|
MONGO_URI: 'mongodb://db:27017/hyperdx'
|
2025-06-23 16:30:09 +00:00
|
|
|
SERVER_URL: http://127.0.0.1:${HYPERDX_API_PORT}
|
2025-05-28 16:51:10 +00:00
|
|
|
OPAMP_PORT: ${HYPERDX_OPAMP_PORT}
|
2025-05-30 21:27:21 +00:00
|
|
|
OTEL_EXPORTER_OTLP_ENDPOINT: 'http://otel-collector:4318'
|
|
|
|
|
OTEL_SERVICE_NAME: 'hdx-oss-app'
|
2023-09-13 04:25:01 +00:00
|
|
|
USAGE_STATS_ENABLED: ${USAGE_STATS_ENABLED:-true}
|
2025-05-28 04:17:57 +00:00
|
|
|
DEFAULT_CONNECTIONS:
|
|
|
|
|
'[{"name":"Local
|
|
|
|
|
ClickHouse","host":"http://ch-server:8123","username":"default","password":""}]'
|
|
|
|
|
DEFAULT_SOURCES:
|
|
|
|
|
'[{"from":{"databaseName":"default","tableName":"otel_logs"},"kind":"log","timestampValueExpression":"TimestampTime","name":"Logs","displayedTimestampValueExpression":"Timestamp","implicitColumnExpression":"Body","serviceNameExpression":"ServiceName","bodyExpression":"Body","eventAttributesExpression":"LogAttributes","resourceAttributesExpression":"ResourceAttributes","defaultTableSelectExpression":"Timestamp,ServiceName,SeverityText,Body","severityTextExpression":"SeverityText","traceIdExpression":"TraceId","spanIdExpression":"SpanId","connection":"Local
|
|
|
|
|
ClickHouse","traceSourceId":"Traces","sessionSourceId":"Sessions","metricSourceId":"Metrics"},{"from":{"databaseName":"default","tableName":"otel_traces"},"kind":"trace","timestampValueExpression":"Timestamp","name":"Traces","displayedTimestampValueExpression":"Timestamp","implicitColumnExpression":"SpanName","serviceNameExpression":"ServiceName","bodyExpression":"SpanName","eventAttributesExpression":"SpanAttributes","resourceAttributesExpression":"ResourceAttributes","defaultTableSelectExpression":"Timestamp,ServiceName,StatusCode,round(Duration/1e6),SpanName","traceIdExpression":"TraceId","spanIdExpression":"SpanId","durationExpression":"Duration","durationPrecision":9,"parentSpanIdExpression":"ParentSpanId","spanNameExpression":"SpanName","spanKindExpression":"SpanKind","statusCodeExpression":"StatusCode","statusMessageExpression":"StatusMessage","connection":"Local
|
|
|
|
|
ClickHouse","logSourceId":"Logs","sessionSourceId":"Sessions","metricSourceId":"Metrics"},{"from":{"databaseName":"default","tableName":""},"kind":"metric","timestampValueExpression":"TimeUnix","name":"Metrics","resourceAttributesExpression":"ResourceAttributes","metricTables":{"gauge":"otel_metrics_gauge","histogram":"otel_metrics_histogram","sum":"otel_metrics_sum","_id":"682586a8b1f81924e628e808","id":"682586a8b1f81924e628e808"},"connection":"Local
|
|
|
|
|
ClickHouse","logSourceId":"Logs","traceSourceId":"Traces","sessionSourceId":"Sessions"},{"from":{"databaseName":"default","tableName":"hyperdx_sessions"},"kind":"session","timestampValueExpression":"TimestampTime","name":"Sessions","displayedTimestampValueExpression":"Timestamp","implicitColumnExpression":"Body","serviceNameExpression":"ServiceName","bodyExpression":"Body","eventAttributesExpression":"LogAttributes","resourceAttributesExpression":"ResourceAttributes","defaultTableSelectExpression":"Timestamp,ServiceName,SeverityText,Body","severityTextExpression":"SeverityText","traceIdExpression":"TraceId","spanIdExpression":"SpanId","connection":"Local
|
|
|
|
|
ClickHouse","logSourceId":"Logs","traceSourceId":"Traces","metricSourceId":"Metrics"}]'
|
2023-09-13 03:08:05 +00:00
|
|
|
networks:
|
|
|
|
|
- internal
|
|
|
|
|
depends_on:
|
|
|
|
|
- ch-server
|
|
|
|
|
- db
|
|
|
|
|
ch-server:
|
feat: Add ClickHouse JSON Type Support (#969)
- Upgrades ClickHouse to 25.6, fixes breaking config change, needed for latest JSON type
- Upgrades OTel Collector to 0.129.1, fixes breaking config change, needed for latest JSON support in exporter
- Upgrades OTel OpAMP Supervisor to 0.128.0
- Fixes features to support JSON type columns in OTel in HyperDX (filtering, searching, graphing, opening rows, etc.)
Requires users to set `BETA_CH_OTEL_JSON_SCHEMA_ENABLED=true` in `ch-server` and `OTEL_AGENT_FEATURE_GATE_ARG='--feature-gates=clickhouse.json'` in `otel-collector` to enable JSON schema. Users must start a new ClickHouse DB or migrate their own table manually to enable as it is not schema compatible and migration is not automatic.
Closes HDX-1849, HDX-1969, HDX-1849, HDX-1966, HDX-1964
Co-authored-by: Tom Alexander <3245235+teeohhem@users.noreply.github.com>
2025-07-03 17:11:03 +00:00
|
|
|
image: clickhouse/clickhouse-server:25.6-alpine
|
2025-05-21 03:56:20 +00:00
|
|
|
# WARNING: Exposing the database port will make it accessible from outside the container,
|
|
|
|
|
# potentially allowing unauthorized access. If you uncomment the ports below,
|
|
|
|
|
# ensure to secure your database (e.g., with strong authentication, proper network rules, and firewalls).
|
|
|
|
|
# ports:
|
|
|
|
|
# - 8123:8123 # http api
|
|
|
|
|
# - 9000:9000 # native
|
2023-09-13 03:08:05 +00:00
|
|
|
environment:
|
|
|
|
|
# default settings
|
|
|
|
|
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1
|
|
|
|
|
volumes:
|
|
|
|
|
- ./docker/clickhouse/local/config.xml:/etc/clickhouse-server/config.xml
|
|
|
|
|
- ./docker/clickhouse/local/users.xml:/etc/clickhouse-server/users.xml
|
|
|
|
|
- .volumes/ch_data:/var/lib/clickhouse
|
|
|
|
|
- .volumes/ch_logs:/var/log/clickhouse-server
|
|
|
|
|
restart: on-failure
|
|
|
|
|
networks:
|
|
|
|
|
- internal
|
|
|
|
|
networks:
|
|
|
|
|
internal:
|