Wie man Logfire mit OpenObserve-Backend verwendet

In unserem vorherigen Beitrag Logfire-Beispiel, das sich mit SigNoz statt mit Logfire verbindet haben wir gezeigt, wie man Logfire mit SigNoz als Backend verwendet. In diesem Beitrag werden wir demonstrieren, wie man Logfire konfiguriert, um Logs an ein OpenObserve-Backend zu senden.

Siehe OpenObserve 5-Minuten Docker + Traefik-Setup für unser empfohlenes OpenObserve-Setup.

Konfigurieren Sie zuerst OTLP für OpenObserve, indem Sie https://openobserve.mydomain.com/web/ingestion/recommended/traces?org_identifier=default besuchen.

Sie benötigen sowohl den HTTP Endpoint: als auch den Authorization:-Header.

Hier ist der vollständige Beispielcode, um Logs von Logfire an OpenObserve zu senden:

test-openobserve.py
#!/usr/bin/env python3
import os
import logfire

# Configure environment variables
os.environ['OTEL_EXPORTER_OTLP_ENDPOINT'] = 'https://openobserve.mydomain.com/api/default' # Insert the OpenObserve "HTTP Endpoint" here
os.environ['OTEL_EXPORTER_OTLP_HEADERS'] = 'Authorization=Basic W280PMn2Y6rnxZURbS1XEQONEZ0GtKpErE6A+sae' # Insert the "Authorization" header here

# Configure Logfire
logfire.configure(
    service_name='order-processing-service',
    send_to_logfire=False,
)

# Example function with nested spans
def process_order(order_id: str, user_id: str):
    with logfire.span('validate_order'):
        # Simulate validation
        print(f"Validating order {order_id} for user {user_id}")

    with logfire.span('process_payment'):
        # Simulate payment processing
        print(f"Processing payment for order {order_id}")

        with logfire.span('call_payment_gateway'):
            # Nested span example
            print("Calling payment gateway API")

    with logfire.span('fulfill_order'):
        # Simulate order fulfillment
        print(f"Fulfilling order {order_id}")

# Main execution
if __name__ == '__main__':
    with logfire.span('main'):
        process_order('12345', 'user-67890')

So sieht es in OpenObserve aus (Traces im linken Menü, dann Run Query oben rechts, dann klicken Sie auf den Trace, um Details zu sehen):

OpenObserve Trace Example


Check out similar posts by category: Monitoring, Python