Skip to content

About

HyperDX fork with Keycloak OIDC authentication

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

2,472 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hyperdx logo

HyperDX

GitHub stars License Release Join the HyperDX Discord

hyperdxio%2Fhyperdx | Trendshift

HyperDX, a core component of ClickStack, helps engineers quickly figure out why production is broken by making it easy to search & visualize logs and traces on top of any ClickHouse cluster (imagine Kibana, for ClickHouse).

Documentation • Chat on Discord • Live Demo • Bug Reports • Contributing • Website

  • 🕵️ Correlate/search logs, metrics, session replays and traces all in one place
  • 📝 Schema agnostic, works on top of your existing ClickHouse schema
  • 🔥 Blazing fast searches & visualizations optimized for ClickHouse
  • 🔍 Intuitive full-text search and property search syntax (ex. level:err), SQL optional!
  • 📊 Analyze trends in anomalies with event deltas
  • 🔔 Set up alerts in just a few clicks
  • 📈 Dashboard high cardinality events without a complex query language
  • { Native JSON string querying
  • ⚡ Live tail logs and traces to always get the freshest events
  • 🔭 OpenTelemetry supported out of the box
  • ⏱️ Monitor health and performance from HTTP requests to DB queries (APM)

Search logs and traces all in one place

Authentication changes in this fork

This fork adds Keycloak OIDC login to HyperDX's existing Passport and MongoDB sessions. It also adds configurable session limits and an optional team settings allowlist for Members, Data, and Integrations, enforced by the API and MCP as well as the UI. Existing authentication and team access remain unchanged until these options are configured.

Set the following on the API server (keep secrets out of frontend variables):

FRONTEND_URL=https://hyperdx.example.com
KEYCLOAK_ISSUER=https://identity.example.com/realms/hyperdx
KEYCLOAK_CLIENT_ID=hyperdx
KEYCLOAK_CLIENT_SECRET=<client secret>
KEYCLOAK_REQUIRED=false
SESSION_MAX_AGE_SECONDS=86400
SESSION_IDLE_TIMEOUT_SECONDS=1800

Configure the Keycloak client with the exact callback https://hyperdx.example.com/api/login/keycloak/callback and post-logout URI https://hyperdx.example.com/login. Users need an explicitly linked HyperDX account or a valid team invitation; matching email addresses never link accounts automatically. Verify login before setting KEYCLOAK_REQUIRED=true to disable password login and existing password sessions.

The sample session policy is a 24-hour maximum with a 30-minute idle timeout. Configure Keycloak's session limits separately. Keycloak and HyperDX sessions are independent; back-channel logout is not implemented.

See the Keycloak setup guide for client settings, account migration, proxy configuration, settings permissions, and regression test commands. Build images from this branch to use these changes; the upstream images below do not include this fork's additions.

Spinning Up HyperDX

HyperDX can be deployed as part of ClickStack, which includes ClickHouse, HyperDX, OpenTelemetry Collector and MongoDB.

docker run -p 8080:8080 -p 4317:4317 -p 4318:4318 docker.hyperdx.io/hyperdx/hyperdx-all-in-one

Afterwards, you can visit http://localhost:8080 to access the HyperDX UI.

If you already have an existing ClickHouse instance, want to use a single container locally, or are looking for production deployment instructions, you can view the different deployment options in our deployment docs.

If your server is behind a firewall, you'll need to open/forward port 8080, 8000 and 4318 on your firewall for the UI, API and OTel collector respectively.

We recommend at least 4GB of RAM and 2 cores for testing.

Hosted ClickHouse Cloud

You can also deploy HyperDX with ClickHouse Cloud, you can sign up for free and get started in just minutes.

Instrumenting Your App

To get logs, metrics, traces, session replay, etc into HyperDX, you'll need to instrument your app to collect and send telemetry data over to your HyperDX instance.

We provide a set of SDKs and integration options to make it easier to get started with HyperDX, such as Browser, Node.js, and Python

You can find the full list in our docs.

OpenTelemetry

Additionally, HyperDX is compatible with OpenTelemetry, a vendor-neutral standard for instrumenting your application backed by CNCF. Supported languages/platforms include:

  • Kubernetes
  • Javascript
  • Python
  • Java
  • Go
  • Ruby
  • PHP
  • .NET
  • Elixir
  • Rust

(Full list here)

Once HyperDX is running, you can point your OpenTelemetry SDK to the OpenTelemetry collector spun up at http://localhost:4318.

HyperDX CLI

Prefer the terminal? @hyperdx/cli provides an interactive TUI and CLI (hdx) for working with your HyperDX data without leaving the shell:

npm install -g @hyperdx/cli
hdx auth login
hdx tui
  • 🖥️ Interactive TUI — search, live tail, and trace waterfalls with vim-style keybindings
  • 📊 Render dashboard tiles and ad-hoc charts as ANSI output in the terminal
  • 🤖 Agent-friendly: raw SQL queries, NDJSON output, and Drain log pattern mining for scripts and AI agents

See the CLI README for the full command reference.

Contributing

We welcome all contributions! There's many ways to contribute to the project, including but not limited to:

Pull requests. Issues, bug reports and discussion stay open to everyone. For code we now use Vouch: a maintainer has to vouch for you before your first pull request gets reviewed. AI tools make it cheap to open a plausible-looking PR with no understanding behind it, and reviewing those crowds out the contributions we want to spend time on. There's nothing to request up front: open your first PR and a maintainer vouches for you on it. See Getting vouched.

Motivation

Our mission is to help engineers ship reliable software. To enable that, we believe every engineer needs to be able to easily leverage production telemetry to quickly solve burning production issues.

However, in our experience, the existing tools we've used tend to fall short in a few ways:

  1. They're expensive, and the pricing has failed to scale with TBs of telemetry becoming the norm, leading to teams aggressively cutting the amount of data they can collect.
  2. They're hard to use, requiring full-time SREs to set up, and domain experts to use confidently.
  3. They requiring hopping from tool to tool (logs, session replay, APM, exceptions, etc.) to stitch together the clues yourself.

We hope you give HyperDX in ClickStack a try and let us know how we're doing!

Contact

HyperDX Usage Data

HyperDX collects anonymized usage data for open source deployments. This data supports our mission for observability to be available to any team and helps support our open source product run in a variety of different environments. While we hope you will continue to support our mission in this way, you may opt out of usage data collection by setting the USAGE_STATS_ENABLED environment variable to false. Thank you for supporting the development of HyperDX!

License

MIT

About

HyperDX fork with Keycloak OIDC authentication

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages