Chronosphere
Send your logs, metrics, and traces to Chronosphere using the OpenTelemetry Protocol (OTLP).
Supported Telemetry Types
Traces
✓
Metrics
✓
Logs
✓
Prerequisites
Before configuring the Chronosphere destination, you'll need:
Active Chronosphere Account: A Chronosphere Observability Platform account with access to your organization's instance
Tenant Name: Your organization's Chronosphere tenant name (the subdomain of your instance, e.g., if your URL is
https://mycompany.chronosphere.io, your tenant name ismycompany)API Token: A valid API token from a Chronosphere service account with write permissions for the telemetry types you plan to send
Creating an API Token in Chronosphere
To generate an API token:
Log in to your Chronosphere instance
Navigate to Administration → Accounts & Teams → Service Accounts
Click Create Service Account or select an existing account
Create or view an API token with the following scopes:
Write metrics (for metrics data)
Write logs (for logs data)
Write traces (for traces data)
Copy the generated token securely (you'll need this for the BindPlane configuration)
Configuration
Basic Connection Settings
To configure a basic Chronosphere OTLP destination:
In BindPlane, create a new destination
Select Chronosphere OTLP as the destination type
Enter your configuration:
Tenant Name
Your Chronosphere organization name (subdomain)
Yes
API Token
Service account API token with write permissions
Yes
Protocol
HTTP/1.1 or HTTP/2 protocol version
No (default: HTTP/1.1)
Compression
Compression algorithm: none, gzip, or zstd
No (default: zstd)
Telemetry Type Selection
Choose which telemetry types you want to send:
Logs: Enable to send structured log data to Chronosphere
Metrics: Enable to send metric data for monitoring
Traces: Enable to send distributed tracing data
You can enable any combination of these types.
Batching Configuration
Chronosphere recommends specific batch processor settings to prevent payload size violations:
Batch Send Size
1000
Number of items to trigger batch sending
Batch Max Size
2000
Maximum items per batch before forcing split
Batch Timeout
1
Maximum time in seconds...
These defaults optimize data delivery while respecting Chronosphere's payload size limits:
Compressed payloads must be smaller than 16 MB
Metric payloads must contain fewer than 10,000 items
TLS & Security Configuration
Basic TLS (Certificate Verification)
For standard HTTPS connections with server certificate verification:
Enable TLS
Enable TLS encryption (required by Chronosphere)
CA Certificate File
Path to CA certificate file for server verification
Insecure Skip Verify
Skip server certificate verification (development only)
Mutual TLS (mTLS)
For mutual TLS authentication:
Enable TLS
Enable TLS encryption
CA Certificate File
Path to CA certificate for server verification
Client Certificate File
Path to client certificate file (mTLS)
Client Key File
Path to client private key file (mTLS)
Security Notes:
Never use
Insecure Skip Verifyin productionStore certificate files securely with appropriate permissions
Regularly rotate certificates according to your security policy
Consider using BindPlane's secret management for sensitive values
Advanced Configuration
HTTP Headers
Add custom HTTP headers to requests:
http_headers:
X-Custom-Header: "value"
Another-Header: "another-value"Headers are merged with default headers (including the API-Token header).
Retry Configuration
Chronosphere recommends enabling retries to handle transient failures:
Retry on Failure
Enabled
Automatically retry failed requests
Initial Interval
5
Maximum wait in seconds...
Max Interval
30
Maximum wait in seconds...
Max Elapsed Time
300
Maximum time in seconds...
Persistent Queuing
For high-volume scenarios or when reliability is critical:
Sending Queue Size
Number of items to buffer in memory
Persistent Queue Directory
Directory for disk-based storage (optional)
Persistent Queue Fsync
Force filesystem sync on each write (safety vs. performance)
When persistent queue is enabled, data is buffered to disk if the destination is unavailable, ensuring no data loss.
Metrics-Specific Options
For metrics telemetry:
Metrics Validation Response
SHORT, SUMMARY, DETAILED
Verbosity of partial success responses
Resource to Telemetry Conversion
Enabled/Disabled
Convert resource attributes to metric attributes
Telemetry-Specific Processing
Logs Processing
When logs are enabled, the destination:
Collects structured log records
Removes the raw log copy attribute (
log.record.original) to reduce payload sizeMaintains all other log attributes and fields
Metrics Processing
When metrics are enabled:
All metric types (counters, gauges, histograms, exponential histograms) are supported
Resource attributes can be converted to metric attributes based on configuration
Partial success responses provide detailed validation feedback
Resource-to-telemetry conversion helps normalize data across different sources
Traces Processing
When traces are enabled:
Distributed trace spans are collected and exported
All span attributes and resource information is preserved
Trace context propagation is maintained for correlation
Configuration Examples
Minimal Configuration (Logs Only)
name: chronosphere-logs
type: chronosphere_otlp
parameters:
tenant_name: mycompany
api_token: ${CHRONOSPHERE_API_TOKEN}
send_logs: trueFull Configuration (All Telemetry Types)
name: chronosphere-full
type: chronosphere_otlp
parameters:
tenant_name: mycompany
api_token: ${CHRONOSPHERE_API_TOKEN}
send_logs: true
send_metrics: true
send_traces: true
protocol: "http/1.1"
compression: "zstd"
batch_send_size: 1000
batch_max_size: 2000
batch_timeout: "1s"
enable_tls: true
retry_on_failure: true
retry_initial_interval: "5s"
retry_max_interval: "30s"
retry_max_elapsed_time: "300s"Mutual TLS Configuration
name: chronosphere-mtls
type: chronosphere_otlp
parameters:
tenant_name: mycompany
api_token: ${CHRONOSPHERE_API_TOKEN}
send_logs: true
send_metrics: true
send_traces: true
enable_tls: true
ca_file: "/etc/ssl/certs/ca-bundle.crt"
client_cert_file: "/etc/ssl/certs/client.crt"
client_key_file: "/etc/ssl/private/client.key"
mutual_tls: true
retry_on_failure: true
sending_queue_enabled: true
sending_queue_num_consumers: 10
sending_queue_queue_size: 5000
persistent_queue_directory: "/var/lib/bindplane/queue"High-Volume Optimization
For high-volume telemetry scenarios:
name: chronosphere-high-volume
type: chronosphere_otlp
parameters:
tenant_name: mycompany
api_token: ${CHRONOSPHERE_API_TOKEN}
send_logs: true
send_metrics: true
send_traces: true
protocol: "http/2"
compression: "zstd"
batch_send_size: 1500
batch_max_size: 2000
batch_timeout: "2s"
timeout: "45s"
sending_queue_enabled: true
sending_queue_num_consumers: 20
sending_queue_queue_size: 10000
persistent_queue_directory: "/var/lib/bindplane/queue"
persistent_queue_fsync: false
retry_on_failure: true
retry_initial_interval: "5s"
retry_max_interval: "30s"
retry_max_elapsed_time: "300s"Performance Optimization
Batch Processing
The batch processor configuration significantly impacts performance:
Batch Send Size: Set to
1000items (Chronosphere recommendation)Batch Max Size: Set to
2000items to prevent exceeding limitsBatch Timeout: Set to
1second for real-time responsiveness with some batching efficiency
Larger batch sizes reduce overhead but increase latency; smaller sizes provide faster delivery but with more requests.
Compression
Chronosphere supports three compression algorithms:
zstd
Better compression, faster decompression (recommended)
Higher CPU usage for compression
gzip
Good compression, wide support
Slower decompression
none
No compression overhead
Larger payloads, more bandwidth
Use zstd for most scenarios; disable compression only for low-volume or development environments.
Queue Configuration
For reliability and burst handling:
Queue Size: Start with
5000-10000for burst protectionNum Consumers: Use
10-20concurrent senders for high volumePersistent Directory: Enable for critical data paths
Fsync: Disable for better performance (data still safe with reasonable queue depth)
Timeout Settings
Chronosphere recommends:
Default Timeout:
30seconds for most requestsHigh-Latency Networks:
45-60secondsHTTP/2: Can use same as
HTTP/1.1
Troubleshooting
Authentication Errors
Error: "401 Unauthorized" or "Invalid API Token"
Solutions:
Verify your API token is correct and hasn't expired
Check that the service account has write permissions for your telemetry types
Ensure the API token is properly formatted (no extra whitespace)
Regenerate the token in Chronosphere if necessary
Connection Timeouts
Error: "Connection timeout" or "Request timeout"
Solutions:
Check network connectivity to
TENANT.chronosphere.io:443Increase the timeout setting from the default
30secondsVerify firewall rules and proxies aren't blocking the connection
Confirm your Chronosphere instance is operational
TLS/Certificate Errors
Error: "certificate verify failed" or "x509 certificate error"
Solutions:
Verify the CA certificate file path is correct and readable
Ensure the certificate is not expired
For self-signed certificates, use the correct CA certificate file
Check that the certificate CN or SAN matches the endpoint hostname
For mutual TLS, verify both client certificate and key files are valid
Data Not Arriving
Error: No data appears in Chronosphere despite successful sending
Solutions:
Verify data is being generated upstream (check source configuration)
Test with a simple configuration first (logs only)
Check Chronosphere's incoming data dashboard for validation errors
Review the Chronosphere API token scopes for your telemetry type
Verify the tenant name matches your Chronosphere instance
Partial Success Responses
Issue: Seeing "partial success" responses with rejected data
Troubleshooting:
Check the
Metrics Validation Responsesetting to understand rejection reasonsSet to DETAILED for verbose error messages
Review rejected metrics for cardinality or formatting issues
Adjust cardinality reduction in upstream processors if needed
High CPU Usage
Issue: High CPU usage or slow performance
Solutions:
Reduce batch size to decrease CPU time per batch
Switch compression from zstd to gzip
Increase batch timeout to allow more items per batch
Disable persistent queue fsync if reliability margin allows
Related Resources
Support
For issues or questions:
Check the troubleshooting section above
Review your BindPlane logs for error details
Verify Chronosphere status at https://chronosphere.io/
Contact Chronosphere Support for platform-specific issues
Contact BindPlane Support for integration issues
Last updated
Was this helpful?