How to Send OpenTelemetry to Firetiger

This guide will walk you through configuring your application to export OpenTelemetry-compliant logs, metrics, and traces to Firetiger.

Prerequisites

Before you begin, ensure you have:

  • An active Firetiger deployment
  • An application that you want to monitor
  • OpenTelemetry instrumentation set up in your application

Step 1: Get your Firetiger ingest credentials

  1. Log in to your Firetiger account
  2. Navigate to the Integrations page
  3. Find your Ingest Basic Auth Credentials
  4. Important: Copy these credentials securely - you’ll need them to authenticate your telemetry exports

Your credentials will include:

  • Deployment Name: Your unique Firetiger deployment identifier
  • Password: Your ingest authentication password
  • Endpoint: Your Firetiger OTLP endpoint (typically ingest.{deployment_name}.firetigerapi.com:443)

You can find these credentials on the Firetiger Settings page: ui.{deployment_name}.firetigerapi.com/settings

Step 2: Configure your OpenTelemetry collector or SDK

Firetiger accepts OpenTelemetry data via the OTLP or HTTP protocol. You can send data directly from your application using OpenTelemetry SDKs, or route it through an OpenTelemetry Collector.

Option A: Using the OpenTelemetry Collector

Create or update your config.yaml file:

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: "0.0.0.0:4317"
      http:
        endpoint: "0.0.0.0:4318"

processors:
  batch:

exporters:
  otlphttp/firetiger:
    endpoint: https://ingest.{deployment_name}.firetigerapi.com:443
    tls:
      insecure: false
    headers:
      "Authorization": "Basic <base64-encoded-credentials>"

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/firetiger]
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/firetiger]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/firetiger]

To create your Base64-encoded credentials:

echo -n "{deployment_name}:{password}" | base64

Option B: Direct from your application

Configure your OpenTelemetry SDK to export directly to Firetiger:

Python example:

from opentelemetry import trace
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
import base64

# Create base64-encoded credentials
deployment_name = "{deployment_name}"
password = "{password}"
auth = base64.b64encode(f"{deployment_name}:{password}".encode()).decode()

# Configure the exporter
exporter = OTLPSpanExporter(
    endpoint="https://ingest.{deployment_name}.firetigerapi.com:443/v1/traces",
    headers={"Authorization": f"Basic {auth}"}
)

# Set up the tracer
provider = TracerProvider()
provider.add_span_processor(BatchSpanProcessor(exporter))
trace.set_tracer_provider(provider)

Node.js example:

const { NodeSDK } = require("@opentelemetry/sdk-node");
const {
  OTLPTraceExporter,
} = require("@opentelemetry/exporter-trace-otlp-http");

const deploymentName = "{deployment_name}";
const password = "{password}";
const auth = Buffer.from(`${deploymentName}:${password}`).toString("base64");

const traceExporter = new OTLPTraceExporter({
  url: "https://ingest.{deployment_name}.firetigerapi.com:443/v1/traces",
  headers: {
    Authorization: `Basic ${auth}`,
  },
});

const sdk = new NodeSDK({
  traceExporter,
});

sdk.start();

Step 3: Deploy and verify

After configuring your telemetry export:

  1. Deploy your updated application or collector configuration
  2. Generate some traffic to your application
  3. Log in to your Firetiger account and navigate to your traces or logs view
  4. You should see telemetry data flowing in within a few moments

Troubleshooting

No data appearing in Firetiger?

  • Verify your credentials are correct (deployment name and password)
  • Check that your endpoint URL matches the format: ingest.{deployment_name}.firetigerapi.com:443
  • Ensure your Base64-encoded credentials are formatted correctly
  • Check your application or collector logs for connection errors
  • Verify that your application is generating telemetry data

Authentication errors?

  • Double-check your credentials from the Integrations page
  • Ensure there are no extra spaces or characters in your Base64-encoded string
  • Verify the Authorization header format: Basic <base64-credentials>

Additional resources


This site uses Just the Docs, a documentation theme for Jekyll.