Skip to main content

Troubleshooting BYOC

Start with the first failing step in Verify a BYOC deployment. Avoid changing the destination until you know whether the Forwarder emitted any records.

The named exporter is missing​

Inspect the EXPORTERS value in the speedscale-forwarder ConfigMap. If the expected name is absent, the operator release did not receive the forwarder.exporters values. Check the Helm release values and upgrade the operator again.

Use a unique exporter name for each destination. Reusing a mapping key replaces the earlier configuration.

The Forwarder cannot connect to the collector​

Check all of the following:

  • The endpoint includes http:// when compatibility with Forwarder versions older than v2.5.617 is required. Newer Forwarders also accept scheme-less gRPC endpoints.
  • The service name and namespace resolve from the speedscale namespace.
  • The endpoint port matches the collector receiver: 4317 for OTLP/gRPC or 4318 for OTLP/HTTP.
  • NetworkPolicy and security-group rules allow the connection.
  • The collector Service selects ready collector pods.

A gRPC client cannot send to an HTTP receiver even though both use OTLP.

The collector receives records but writes nothing​

Read the collector logs for permission, authentication, throttling, or invalid-configuration errors. Confirm that the collector's workload identity, service account, or Secret has write access to the exact bucket, prefix, index, or API endpoint.

For object storage, also check encryption-key permissions, public-access policies, and lifecycle rules. A short lifecycle or an unexpected prefix can make successful writes appear missing.

S3 or GCS import returns no RRPairs​

  • Use the current byoc/ prefix. Omit it only for a legacy layout that wrote at the bucket root.
  • Start with a small but known time range around a test request.
  • Confirm the import identity can list and read objects, not only the collector identity that writes them.
  • Pass the bucket name only; do not include s3://, gs://, or the prefix in --bucket.
  • For native GCS, use Google Application Default Credentials with proxymock import gcs.

The _speedscale/byoc-layout.json manifest improves narrow discovery but is not a substitute for access to the objects it references.

GCS S3 interoperability fails​

Prefer proxymock import gcs. If an existing workflow requires the XML interoperability API, use GCS HMAC credentials, endpoint https://storage.googleapis.com, region auto, and path-style addressing. Do not use a bucket-qualified endpoint.

Azure Blob does not work with import s3​

Azure Blob is not S3-compatible. Use the chart repository's azure-gather.py script or choose S3/GCS for a direct proxymock import workflow. See Storage and observability backends.

Imported traffic will not replay cleanly​

Importing proves that stored records can be decoded; it does not guarantee that recorded values remain valid in the replay environment. Inspect the imported requests, apply transformations for environment-specific hosts or credentials, and use recommendations for rotating values.