SUSE Cloud Observability
This destination supports sending telemetry data to both SUSE Cloud Observability (SaaS) and self-hosted SUSE Observability instances using the OpenTelemetry Protocol (OTLP).
SUSE Cloud Observability is a full-stack Kubernetes observability platform offering metrics, logs, traces, and guided remediation in a single, enterprise-ready SaaS solution.
Overview
What is SUSE Cloud Observability?
SUSE Cloud Observability provides:
Full-stack visibility: Monitor metrics, logs, events, and traces from a single platform
Time-travel debugging: Investigate incidents with millisecond precision
Guided remediation: Get root cause analysis and resolution recommendations
Multi-environment support: Consistent observability across edge, on-premises, and cloud deployments
Kubernetes-optimized: Purpose-built for Kubernetes monitoring and troubleshooting
Supported Telemetry Types
This destination supports sending:
Logs: Application and infrastructure logs
Metrics: Numerical monitoring data
Traces: Distributed tracing data for performance analysis
Key Features
Dual Protocol Support: Both OTLP/gRPC (recommended) and OTLP/HTTP
Flexible Deployment: Cloud SaaS or self-hosted options
Authentication: Bearer token authentication via
bearertokenauthextensionSecurity: Full TLS/mTLS certificate support
Reliability: Persistent queuing and configurable retry strategies
Performance: Batch processing and compression options
Prerequisites
SUSE Account
For Cloud Deployments:
SUSE Cloud Observability subscription
Instance name (e.g.,
mycompanyfor endpointotlp-mycompany.app.stackstate.io)API key for authentication (available in SUSE dashboard)
For Self-Hosted Deployments:
SUSE Observability self-hosted installation
Service endpoint configuration (e.g.,
suse-observability-otel-collector.default.svc.cluster.local)Optional: API key (depending on your setup)
Network Requirements
Outbound Connectivity: Access to SUSE endpoints
Cloud gRPC:
otlp-<instance>.app.stackstate.io:443Cloud HTTP:
https://otlp-http-<instance>.app.stackstate.ioSelf-Hosted: Kubernetes service or ingress endpoint
Firewall: Port 443 (or custom ingress port) must be open
Proxy: Supported for both gRPC and HTTP protocols
BindPlane Requirements
BindPlane OP Enterprise with latest version
Network access from BindPlane agents to SUSE endpoints
bearertokenauthextension available in collector components
Configuration
Basic Setup
The minimum configuration requires three main settings:
Environment: Choose between
cloudorselfhostedAPI Key: Bearer token for authentication
Protocol: Select
grpc(recommended) orhttp
Cloud Deployment - gRPC (Recommended)
For production SUSE Cloud Observability deployments with gRPC protocol:
apiVersion: bindplane.observiq.com/v1
kind: Destination
metadata:
name: suse-cloud-grpc
spec:
destinationType: suse_observability_otlp
parameters:
environment: cloud
suse_observability_instance: mycompany
protocol: grpc
api_key: ${env:SUSE_API_KEY}
enable_tls: true
telemetry_types:
- Logs
- Metrics
- TracesConfiguration Details:
environment: cloud: Routes to SUSE Cloud Observabilitysuse_observability_instance: Replace with your instance nameprotocol: grpc: Uses gRPC protocol (port 443)enable_tls: true: Standard TLS is enabled by default for cloudapi_key: Reference environment variable containing your API key
Cloud Deployment - HTTP
For cloud deployments requiring HTTP protocol (useful when gRPC is blocked):
apiVersion: bindplane.observiq.com/v1
kind: Destination
metadata:
name: suse-cloud-http
spec:
destinationType: suse_observability_otlp
parameters:
environment: cloud
suse_observability_instance: mycompany
protocol: http
api_key: ${env:SUSE_API_KEY}
enable_tls: true
telemetry_types:
- Logs
- Metrics
- TracesConfiguration Details:
protocol: http: Uses OTLP HTTP protocol (HTTPS)Endpoint:
https://otlp-http-<instance>.app.stackstate.ioAll other settings same as gRPC
Self-Hosted Deployment
For self-hosted SUSE Observability in Kubernetes (in-cluster):
apiVersion: bindplane.observiq.com/v1
kind: Destination
metadata:
name: suse-selfhosted
spec:
destinationType: suse_observability_otlp
parameters:
environment: selfhosted
selfhosted_endpoint: suse-observability-otel-collector.default.svc.cluster.local
protocol: http
api_key: ${env:SUSE_API_KEY}
enable_tls: false
telemetry_types:
- Logs
- Metrics
- TracesConfiguration Details:
environment: selfhosted: Routes to self-hosted instanceselfhosted_endpoint: Kubernetes service name or ingress hostnameprotocol: http: In-cluster uses plain HTTPenable_tls: false: Plain HTTP for in-cluster communicationUpdate namespace if SUSE Observability is in different namespace
Cloud Deployment - With mTLS (High Security)
For production deployments requiring mutual TLS authentication:
apiVersion: bindplane.observiq.com/v1
kind: Destination
metadata:
name: suse-cloud-mtls
spec:
destinationType: suse_observability_otlp
parameters:
environment: cloud
suse_observability_instance: mycompany
protocol: grpc
api_key: ${env:SUSE_API_KEY}
enable_tls: true
mutual_tls: true
cert_file: /etc/ssl/certs/client-cert.pem
key_file: /etc/ssl/private/client-key.pem
ca_file: /etc/ssl/certs/ca-cert.pem
insecure_skip_verify: false
telemetry_types:
- Logs
- Metrics
- TracesConfiguration Details:
mutual_tls: true: Enable client certificate authenticationcert_file: Path to client certificate (PEM format)key_file: Path to client private key (PEM format)ca_file: Optional custom CA certificate for verificationinsecure_skip_verify: false: Always verify certificates in production
Configuration Options
Required Parameters
api_key
✓
✓
Bearer token for authentication
environment
✓
✓
cloud or selfhosted
protocol
✓
✓
grpc or http
suse_observability_instance
✓
Instance name (cloud only)
selfhosted_endpoint
✓
Service endpoint (self-hosted only)
Optional Parameters
TLS Configuration:
enable_tls: Enable/disable TLS (default:truefor cloud)mutual_tls: Enable mutual TLS (default:false)cert_file: Client certificate path (required ifmutual_tls: true)key_file: Client private key path (required ifmutual_tls: true)ca_file: Custom CA certificate pathinsecure_skip_verify: Skip certificate verification (not recommended for production)tls_server_name_override: Override server name in TLS handshake
Data Selection:
telemetry_types: Array ofLogs,Metrics,Tracesto send
Performance:
batch_enabled: Enable batching (default:true)batch_send_batch_size: Number of items per batch (default:8192)batch_timeout: Time before sending partial batch (default:200ms)timeout: Request timeout in seconds (default:30)grpc_compression: Compression for gRPC (gzip,snappy,zstd,none)http_compression: Compression for HTTP (gzip,deflate,snappy,zlib,zstd)
Reliability:
retry_on_failure_enabled: Enable retry on failures (default:true)retry_on_failure_initial_interval: Initial retry wait (default:5seconds)retry_on_failure_max_interval: Maximum retry wait (default:30seconds)retry_on_failure_max_elapsed_time: Max total retry time (default:300seconds)sending_queue_enabled: Buffer data before sending (default:true)sending_queue_queue_size: Max queued items (default:5000)persistent_queue_enabled: Persist queue to disk (default:true)
Troubleshooting
Connection Issues
Problem: Cannot connect to SUSE endpoint
Solutions:
Verify endpoint connectivity:
# For cloud gRPC openssl s_client -connect otlp-mycompany.app.stackstate.io:443 # For cloud HTTP curl -I https://otlp-http-mycompany.app.stackstate.ioCheck firewall rules: Ensure outbound port 443 is open
Verify DNS resolution: Ensure endpoint hostname resolves correctly
Check proxy configuration: If behind proxy, verify proxy settings
Authentication Failures
Problem: 401 Unauthorized or 403 Forbidden errors
Solutions:
Verify API key: Check that
api_keyis correct and not expiredCheck environment variable: Ensure
${env:SUSE_API_KEY}is set correctlyVerify bearer scheme: Confirm
bearertokenauthextension is configuredCheck instance name: For cloud, verify
suse_observability_instancematches SUSE dashboard
Data Not Appearing
Problem: Configuration successful but no data in SUSE
Solutions:
Verify telemetry types: Check that
telemetry_typesincludes data you're sendingCheck sources: Ensure BindPlane sources are configured and running
Review batch settings: If batch timeout is too long, data may not appear immediately
Check queue status: Monitor queue depth for backpressure issues
Enable debug logging: Check BindPlane agent logs for errors
TLS Certificate Errors
Problem: certificate validation failed or similar TLS errors
Solutions:
For self-signed certificates (development only):
insecure_skip_verify: trueFor custom CA certificates:
Provide CA certificate path:
ca_file: /path/to/ca-cert.pemEnsure certificate is in PEM format
Verify certificate is not expired
For mutual TLS issues:
Verify
cert_fileandkey_filepaths are correctEnsure files are readable by BindPlane process
Check certificate expiration dates
Verify certificate is signed by SUSE CA
For hostname verification issues:
Use
tls_server_name_overrideif hostname doesn't match certificateCommon for self-hosted with internal DNS names
Reference Documentation
SUSE Observability Documentation: https://documentation.suse.com/cloudnative/suse-observability/latest/
SUSE OTLP APIs: https://documentation.suse.com/cloudnative/suse-observability/latest/en/setup/otel/otlp-apis.html
OpenTelemetry Protocol: https://opentelemetry.io/docs/specs/otel/protocol/
BindPlane OP Documentation: https://docs.bindplane.com/
Last updated
Was this helpful?