Commit graph

88 commits

Author SHA1 Message Date
Warren
131a1c1edb
revert: api esbuild (#1280)
This PR reverts https://github.com/hyperdxio/hyperdx/pull/937

Ref: HDX-2620
2025-10-21 09:27:47 +00:00
Brandon Pereira
e032af5509
attempt to ensure otel collector logs go to stdout (#1228) 2025-10-01 11:51:24 -06:00
Drew Davis
45e8e1b62d
fix: Update tsconfigs to resolve IDE type errors (#1150) 2025-09-11 08:55:14 -04:00
Aaron Knudtson
8568580127
feat: add custom ingestion key via INGESTION_API_KEY (#1112)
Closes HDX-2283

This adds an environment variable `INGESTION_API_KEY` that can be set by the user. This apiKey will be valid and accepted by the Otel collector. It is in addition to the autogenerated apiKey and will not show in the team settings apiKey section.
2025-08-29 20:10:46 +00:00
Warren
3636fc570d
style: update otelcol config file volume mount from dev stage (#1091) 2025-08-21 14:03:45 +00:00
Warren
56fd856d7a
fix: otelcol process in aio build (#1085) 2025-08-20 19:17:39 +00:00
Warren
d29e2bcb67
fix: handle the case when CUSTOM_OTELCOL_CONFIG_FILE is not specified (#1080)
plus fixing startup issue when the team isn't created yet
2025-08-19 17:08:49 +00:00
Warren
ab50b12a6b
feat: support custom otel collector config (BETA) (#1074)
plus the fix to reduce bloat in opamp agent logs

Users should be able to mount the custom otel collector config file and add/overrider receivers, processors and exporters
For example:
```
receivers:
  hostmetrics:
    collection_interval: 5s
    scrapers:
      cpu:
      load:
      memory:
      disk:
      filesystem:
      network:
# override the default processors
processors:
  batch:
    send_batch_size: 10000
    timeout: 10s
  memory_limiter:
    limit_mib: 2000
service:
  pipelines:
    metrics/hostmetrics:
      receivers: [hostmetrics]
      # attach existing processors
      processors: [memory_limiter, batch]
      # attach existing exporters
      exporters: [clickhouse]
```
This will add a new `hostmetrics` receiver + `metrics/hostmetrics` pipeline and update existing `batch` + `memory_limiter` processors 

WARNING: This feature is still in beta, and future updates may change how it works, potentially affecting compatibility

Ref: HDX-1865
2025-08-18 21:22:43 +00:00
Warren
6c134035c4
fix: use '--kill-others-on-fail' to prevent processes from terminating when RUN_SCHEDULED_TASKS_EXTERNALLY is enabled (#1015)
Ref: HDX-2044

Co-authored-by: Dan Hable <418679+dhable@users.noreply.github.com>
2025-07-24 21:56:38 +00:00
Mike Shi
ecb0f2c889
feat: Add JSON support to all in one build (#972) 2025-07-03 22:54:59 +00:00
Mike Shi
52ca1823a4
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
Aaron Knudtson
93e36b5581
fix: connection creation revamp (#947)
Fixes HDX-1926
2025-06-26 15:08:47 +00:00
Aaron Knudtson
9191c11323
fix: disable nx daemon (#942) 2025-06-24 16:51:59 +00:00
Aaron Knudtson
ad6887796f
feat: bundle api for image size reduction (#937)
all-in-one image: 1.51 gb -> 1.21 gb
app image: 573 mb -> 271 mb

Ref HDX-1803
2025-06-24 15:51:34 +00:00
Tom Alexander
661a1ec915
chore: Make passthrough_logs an envvar controlled setting in collector (#922)
Adds environment variable to allow for passthrough_logs to be enabled in the supervisor config

Test locally with:
Edit docker-compose.dev.yaml
Add `OTEL_SUPERVISOR_PASSTHROUGH_LOGS: 'true'` under the otel environment variables

```
make dev-up
```

Ref: HDX-1859
2025-06-10 23:16:52 +00:00
Warren
2063774866
perf: build next app in standalone mode to cut down images size (#916)
App image: 1.29GB -> 561MB
Local image: 2.23GB -> 1.5GB

Ref: HDX-1803
2025-06-09 23:40:02 +00:00
Warren
31e22dcff4
feat: introduce clickhouse db init script (#843)
Ref: HDX-1777

This shouldn't have any impact on users
2025-06-09 16:45:23 +00:00
Warren
ab387e1168
fix: missing types in app build (#905)
bonus adjust logging (otel config + exception)
2025-06-03 20:20:56 +00:00
Warren
ab3b5cb628
perf: merge api + app packages to dedupe node_modules (#901)
aio: 3GB -> 2.2GB
app: 2.05GB -> 1.27GB

Ref: HDX-1803
2025-06-02 20:53:45 +00:00
Warren
4863175c34
style: improve aio startup logs + silent ch stdout (#868)
Ref: HDX-1801

startup logs are like

```
Send OpenTelemetry data via:
  http/protobuf: OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
  gRPC: OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317

Exporting data to ClickHouse:
  Endpoint: tcp://ch-server:9000?dial_timeout=10s
  Database: default

Waiting for ClickHouse to be ready...
ClickHouse is ready!

Visit the HyperDX UI at http://localhost:8080

```
2025-05-28 22:36:16 +00:00
Aaron Knudtson
59ee6d2edc
usage info (#846)
Ref: HDX-1692
2025-05-28 22:31:57 +00:00
Warren
e27c24a13f
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
2025-05-28 18:54:13 +00:00
Warren
54622bb060
build: config opamp port (#866)
Ref: HDX-1799
2025-05-28 16:51:10 +00:00
Mike Shi
854c4b1509
feat: Add default connections and sources to docker compose and docker all in one images (#865)
Fixes HDX-1798
2025-05-28 04:17:57 +00:00
Warren
d63deeddbe
fix: support otelcol opamp in aio build (#859)
Ref: HDX-1734
2025-05-27 18:56:11 +00:00
Warren
0ab1b2bf8d
DX: pull opampsupervisor base image from dockerhub (#857)
Pulling the image from ghcr creates more friction for users, especially when dealing with issues like expired tokens. For example, you might see errors such as
```
docker pull ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-opampsupervisor:0.126.0

Error response from daemon: Head "https://ghcr.io/v2/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-opampsupervisor/manifests/0.126.0": denied: denied
```
2025-05-26 21:37:25 +00:00
Mike Shi
d72d1d2d26
Add ingestion key check to otel collector via OpAMP (#825)
HDX-1698
2025-05-23 01:41:35 +00:00
Warren
c60b975e29
chore: bump node to v22.16.0 (#839)
Ref: HDX-1757
2025-05-22 17:05:30 +00:00
Warren
86465a2027
fix: map CLICKHOUSE_SERVER_ENDPOINT to exporter 'endpoint' (#838)
For users connecting to ClickHouse Cloud or a TLS endpoint, add the `secure=true` query parameter or use the HTTPS protocol. Providing the full URL via the `CLICKHOUSE_SERVER_ENDPOINT` in the exporter's endpoint field should resolve this issue

Ref: HDX-1743
2025-05-22 05:56:18 +00:00
Dan Hable
d9ab75710e
feat: normalize the text case of severity text (#834) 2025-05-22 04:42:00 +00:00
Warren
e7262d1288
feat: introduce all-one-one (auth vs noauth) multi-stage build (#821)
1. Merge 'fullstack' and 'local' (auth + noauth) builds into a single Dockerfile
2. Introduce 'all-in-one-auth' and 'all-in-one-noauth' build stages
3. Lock `IS_LOCAL_APP_MODE` env var
4. Fix bug in ctrl-c exit with docker run
5. Enable alerts in local mode (no-auth)
6. Build `common-utils` on the fly (no longer needing pulling pkg from npm)

Ref: HDX-1709
Ref: HDX-1713
Ref: HDX-1254
Ref: HDX-1729

To match v2 product definition, we are going to release three images:
- hyperdx/hyperdx (--target=prod): app only without any other deps (clickhouse, otelcol, mongodb), used in default compose + helm deployment
- hyperdx/hyperdx-all-in-one (--target=all-in-one-auth): all-in-one build + auth
- hyperdx/hyperdx-local (--target=all-in-one-noauth): all-in-one build + no-auth

Production impacts:
- hyperdx/hyperdx: none
- hyperdx/hyperdx-all-in-one: new
- hyperdx/hyperdx-local: add server components (alerts, saved searches, dashboards)
2025-05-19 22:35:48 +00:00
Mike Shi
15bb9e6c7e
chore: remove unused dependencies (#791)
- removes redis from stack (using in memory rate limiter)
- deletes unused miner code (moved to browser-based pyodide module)
- fixes rate limit bug

fixes HDX-1248
2025-05-06 03:13:20 +00:00
Dan Hable
1c54b59939
feat: Handle JSON-like structured logs better (#763)
Updates the OTEL pipeline to handle structured logs better. If the body content is an OTEL map, it will merge the body map into the log attributes map. If the body is a JSON object, it will parse the JSON string into an OTEL map, then merge the fields into the log attributes map.

Replacing the Body field doesn't work since the Clickhouse exporter schema defines Body as string, so any parsed out object ends up turning back into a string. At least as log resources, it's a lighter weight means of grouping and filtering in the UI.

Ref: HDX-1453
2025-04-21 18:11:00 +00:00
Dan Hable
19431d3fe9
Moving HDX-1514 to open source repo (#761)
1. Moves the HDX-1514 log inference change into the OSS repo.
2. Bumps the OTEL collector version to match
2025-04-18 19:09:14 +00:00
Warren
f5e9a07ef1
chore: bump node version to v22 (#744) 2025-04-15 16:56:56 +00:00
Warren
d32661032b
feat: introduce RUN_SCHEDULED_TASKS_EXTERNALLY (#733)
1. new env var RUN_SCHEDULED_TASKS_EXTERNALLY to opt out in-app task process
2. introduce new `prod-extended` build that includes mongodb process
3. GA k8s dashboard (only picking the connection)
4. bake check-alert task into fullstack app build
2025-04-02 02:21:49 +00:00
Warren
2e3eee4c9c
migration: rename default rrweb table to hyperdx_sessions (#677) 2025-03-13 05:28:23 +00:00
Warren
5b2cba019e
feat: scrape local otelcol + clickhouse metrics (#633)
<img width="1329" alt="Screenshot 2025-02-25 at 5 26 06 PM" src="https://github.com/user-attachments/assets/ae54c3de-3e4c-4452-84ef-dda05d23c39e" />


<img width="1321" alt="Screenshot 2025-02-25 at 5 28 06 PM" src="https://github.com/user-attachments/assets/b3eab865-d6da-44da-a2fe-79a3797790f9" />
2025-02-26 03:13:05 +00:00
Warren
9767658214
style: cleanup otel-collector config (#615)
1. add `CLICKHOUSE_USER` and `CLICKHOUSE_PASSWORD` env vars (clickhouse-exporter) - not used yet
2. disable debug exporter by default
2025-02-17 19:31:10 +00:00
Warren
7c3ac9b213
feat: introduce rrweb table to store session replay data (#586) 2025-01-31 20:22:58 +00:00
Warren
3f0e564b0d
feat: add example nginx ssl reverse proxy service (#535) 2024-12-17 18:29:54 +00:00
Warren
9993fb2097
DX: standalone app docker image (#532)
For better self-hosting experience, users should be able to run
```
docker run -e MONGO_URI=xxx -p 8080:8080 hyperdx/hyperdx:2-beta
```
to spin up the project that includes the server components
2024-12-16 23:13:16 +00:00
Warren
7a766f7977
style: remove aggregator related codes (#521) 2024-12-09 09:59:36 -08:00
Warren
6a24dcf405
feat: single app image (#519) 2024-12-06 16:27:23 -08:00
Warren
aa165fcc46 feat: move more codes 2024-11-21 21:44:33 -08:00
Warren
b16456fc39 feat: move v2 codes 2024-11-12 05:53:15 -07:00
Warren
a148c06fd4
chore: bump vector to v0.41.1 (#503) 2024-10-02 05:19:09 +00:00
Warren
f7ae1a44c8
perf: use route transform to reroute go spans (#489) 2024-08-28 00:08:01 -07:00
Warren
f1da5b6d0b
chore: bump vector to v0.40.1 (#490)
https://vector.dev/releases/0.40.0/

https://vector.dev/releases/0.40.1/
2024-08-27 04:18:54 +00:00
Warren
3b5ec64404
feat: support environment filtering (#482)
<img width="221" alt="Screenshot 2024-07-24 at 2 34 07 PM" src="https://github.com/user-attachments/assets/2a4f9113-c567-4ce8-9992-6c11645c2126">
2024-07-25 05:59:17 +00:00