HyperDX



To send OpenTelemetry metrics and traces generated by Shield360 from your AI Application to HyperDX, follow the below steps.
1. Get your Credentials
- Sign in to your HyperDX account
- Get your API Key:
- Navigate to your HyperDX settings or API keys section
- Generate or copy your existing API key
- Example format:
x6xx7265-43x3-476x-1112-x9x52x29xxxx
2. Configure OpenTelemetry Collector
HyperDX requires an OpenTelemetry Collector as an intermediary to receive and forward telemetry data.
Install OpenTelemetry Collector (if not already running)
For detailed installation instructions, refer to the OpenTelemetry Collector Documentation.
Configure the Collector
- Configure HTTP Receiver: In the
receiverssection, ensure theotlpreceiver is set withendpoint: 0.0.0.0:4318. - Define HyperDX Exporter: Add
otlphttp/hdxexporter to send data to HyperDX. - Assign to Pipelines: Link the exporter to traces and metrics pipelines.
Complete Collector Configuration
receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318
processors: batch: memory_limiter: # 80% of maximum memory up to 2G limit_mib: 1500 # 25% of limit up to 2G spike_limit_mib: 512 check_interval: 5s
exporters: otlphttp/hdx: endpoint: 'https://in-otel.hyperdx.io' headers: authorization: YOUR_HYPERDX_API_KEY_HERE compression: gzip
service: pipelines: traces: receivers: [ otlp ] processors: [ memory_limiter, batch ] exporters: [ otlphttp/hdx ] metrics: receivers: [ otlp ] processors: [ memory_limiter, batch ] exporters: [ otlphttp/hdx ]Replace YOUR_HYPERDX_API_KEY_HERE with your actual HyperDX API Key.
3. Instrument your application
For direct integration into your Python applications:
import shield360
shield360.init( otlp_endpoint="YOUR_OTELCOL_URL:4318")Replace:
YOUR_OTELCOL_URL:4318with the URL HTTP endpoint of your OpenTelemetry Collector.- Example:
http://127.0.0.1:4318(for local collector) - Example:
http://otel-collector.default.svc.cluster.local:4318(for Kubernetes)
- Example:
import shield360
shield360.init()Set these environment variables:
export OTEL_EXPORTER_OTLP_ENDPOINT="YOUR_OTELCOL_URL:4318"Replace:
YOUR_OTELCOL_URL:4318with the URL HTTP endpoint of your OpenTelemetry Collector.- Example:
http://127.0.0.1:4318(for local collector) - Example:
http://otel-collector.default.svc.cluster.local:4318(for Kubernetes)
- Example:
Refer to the Shield360 SDK configuration reference for more advanced configurations and use cases.
For zero-code auto-instrumentation via command line:
# Using CLI argumentsshield360-instrument \ --otlp-endpoint "YOUR_OTELCOL_URL:4318" \ --service-name "my-ai-service" \ --deployment-environment "production" \ python app.pyReplace:
YOUR_OTELCOL_URL:4318with the URL HTTP endpoint of your OpenTelemetry Collector.- Example:
http://127.0.0.1:4318(for local collector) - Example:
http://otel-collector.default.svc.cluster.local:4318(for Kubernetes)
- Example:
# Set environment variables (takes precedence over CLI args)export OTEL_EXPORTER_OTLP_ENDPOINT="YOUR_OTELCOL_URL:4318"export OTEL_SERVICE_NAME="my-ai-service"export OTEL_DEPLOYMENT_ENVIRONMENT="production"
# Run your applicationshield360-instrument python app.pyReplace:
YOUR_OTELCOL_URL:4318with the URL HTTP endpoint of your OpenTelemetry Collector.- Example:
http://127.0.0.1:4318(for local collector) - Example:
http://otel-collector.default.svc.cluster.local:4318(for Kubernetes)
- Example:
Refer to the Shield360 SDK configuration reference for more advanced configurations and use cases.
4. Import the pre-built Dashboard
You can directly import a pre-built GenAI Observability dashboard using this URL:
This is an unsaved dashboard URL. When you click on it, the dashboard will open in your own HyperDX instance. You can then choose to save it, and it will be added to your HyperDX instance.