From 58180c058668d426260ff183c5ed15d85584cc09 Mon Sep 17 00:00:00 2001 From: expruc Date: Sat, 2 Aug 2025 22:15:22 +0300 Subject: [PATCH] added otel lgos specific config --- backend/open_webui/env.py | 15 +++++++++++++++ backend/open_webui/utils/telemetry/logs.py | 22 +++++++++++----------- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/backend/open_webui/env.py b/backend/open_webui/env.py index eeb9e1443e..7ac7c991a0 100644 --- a/backend/open_webui/env.py +++ b/backend/open_webui/env.py @@ -651,12 +651,18 @@ OTEL_EXPORTER_OTLP_ENDPOINT = os.environ.get( OTEL_METRICS_EXPORTER_OTLP_ENDPOINT = os.environ.get( "OTEL_METRICS_EXPORTER_OTLP_ENDPOINT", OTEL_EXPORTER_OTLP_ENDPOINT ) +OTEL_LOGS_EXPORTER_OTLP_ENDPOINT = os.environ.get( + "OTEL_LOGS_EXPORTER_OTLP_ENDPOINT", OTEL_EXPORTER_OTLP_ENDPOINT +) OTEL_EXPORTER_OTLP_INSECURE = ( os.environ.get("OTEL_EXPORTER_OTLP_INSECURE", "False").lower() == "true" ) OTEL_METRICS_EXPORTER_OTLP_INSECURE = ( os.environ.get("OTEL_METRICS_EXPORTER_OTLP_INSECURE", "False").lower() == "true" ) +OTEL_LOGS_EXPORTER_OTLP_INSECURE = ( + os.environ.get("OTEL_LOGS_EXPORTER_OTLP_INSECURE", "False").lower() == "true" +) OTEL_SERVICE_NAME = os.environ.get("OTEL_SERVICE_NAME", "open-webui") OTEL_RESOURCE_ATTRIBUTES = os.environ.get( "OTEL_RESOURCE_ATTRIBUTES", "" @@ -673,6 +679,12 @@ OTEL_METRICS_BASIC_AUTH_USERNAME = os.environ.get( OTEL_METRICS_BASIC_AUTH_PASSWORD = os.environ.get( "OTEL_METRICS_BASIC_AUTH_PASSWORD", OTEL_BASIC_AUTH_PASSWORD ) +OTEL_LOGS_BASIC_AUTH_USERNAME = os.environ.get( + "OTEL_LOGS_BASIC_AUTH_USERNAME", OTEL_BASIC_AUTH_USERNAME +) +OTEL_LOGS_BASIC_AUTH_PASSWORD = os.environ.get( + "OTEL_LOGS_BASIC_AUTH_PASSWORD", OTEL_BASIC_AUTH_PASSWORD +) OTEL_OTLP_SPAN_EXPORTER = os.environ.get( "OTEL_OTLP_SPAN_EXPORTER", "grpc" @@ -682,6 +694,9 @@ OTEL_METRICS_OTLP_SPAN_EXPORTER = os.environ.get( "OTEL_METRICS_OTLP_SPAN_EXPORTER", OTEL_OTLP_SPAN_EXPORTER ).lower() # grpc or http +OTEL_LOGS_OTLP_SPAN_EXPORTER = os.environ.get( + "OTEL_LOGS_OTLP_SPAN_EXPORTER", OTEL_OTLP_SPAN_EXPORTER +).lower() # grpc or http #################################### # TOOLS/FUNCTIONS PIP OPTIONS diff --git a/backend/open_webui/utils/telemetry/logs.py b/backend/open_webui/utils/telemetry/logs.py index 992c839411..00d3e28c07 100644 --- a/backend/open_webui/utils/telemetry/logs.py +++ b/backend/open_webui/utils/telemetry/logs.py @@ -13,31 +13,31 @@ from opentelemetry._logs import set_logger_provider from opentelemetry.sdk.resources import SERVICE_NAME, Resource from open_webui.env import ( OTEL_SERVICE_NAME, - OTEL_EXPORTER_OTLP_ENDPOINT, - OTEL_EXPORTER_OTLP_INSECURE, - OTEL_BASIC_AUTH_USERNAME, - OTEL_BASIC_AUTH_PASSWORD, - OTEL_OTLP_SPAN_EXPORTER, + OTEL_LOGS_EXPORTER_OTLP_ENDPOINT, + OTEL_LOGS_EXPORTER_OTLP_INSECURE, + OTEL_LOGS_BASIC_AUTH_USERNAME, + OTEL_LOGS_BASIC_AUTH_PASSWORD, + OTEL_LOGS_OTLP_SPAN_EXPORTER, ) def setup_logging(): headers = [] - if OTEL_BASIC_AUTH_USERNAME and OTEL_BASIC_AUTH_PASSWORD: - auth_string = f"{OTEL_BASIC_AUTH_USERNAME}:{OTEL_BASIC_AUTH_PASSWORD}" + if OTEL_LOGS_BASIC_AUTH_USERNAME and OTEL_LOGS_BASIC_AUTH_PASSWORD: + auth_string = f"{OTEL_LOGS_BASIC_AUTH_USERNAME}:{OTEL_LOGS_BASIC_AUTH_PASSWORD}" auth_header = b64encode(auth_string.encode()).decode() headers = [("authorization", f"Basic {auth_header}")] resource = Resource.create(attributes={SERVICE_NAME: OTEL_SERVICE_NAME}) - if OTEL_OTLP_SPAN_EXPORTER == "http": + if OTEL_LOGS_OTLP_SPAN_EXPORTER == "http": exporter = HttpOTLPLogExporter( - endpoint=OTEL_EXPORTER_OTLP_ENDPOINT, + endpoint=OTEL_LOGS_EXPORTER_OTLP_ENDPOINT, headers=headers, ) else: exporter = OTLPLogExporter( - endpoint=OTEL_EXPORTER_OTLP_ENDPOINT, - insecure=OTEL_EXPORTER_OTLP_INSECURE, + endpoint=OTEL_LOGS_EXPORTER_OTLP_ENDPOINT, + insecure=OTEL_LOGS_EXPORTER_OTLP_INSECURE, headers=headers, ) logger_provider = LoggerProvider(resource=resource)