Merge pull request #16237 from expruc/chore/separate_otel_logs_config
Deploy to HuggingFace Spaces / check-secret (push) Has been cancelled Details
Create and publish Docker images with specific build args / build-main-image (linux/amd64, ubuntu-latest) (push) Has been cancelled Details
Create and publish Docker images with specific build args / build-main-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled Details
Create and publish Docker images with specific build args / build-cuda-image (linux/amd64, ubuntu-latest) (push) Has been cancelled Details
Create and publish Docker images with specific build args / build-cuda-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled Details
Create and publish Docker images with specific build args / build-cuda126-image (linux/amd64, ubuntu-latest) (push) Has been cancelled Details
Create and publish Docker images with specific build args / build-cuda126-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled Details
Create and publish Docker images with specific build args / build-ollama-image (linux/amd64, ubuntu-latest) (push) Has been cancelled Details
Create and publish Docker images with specific build args / build-ollama-image (linux/arm64, ubuntu-24.04-arm) (push) Has been cancelled Details
Python CI / Format Backend (3.11.x) (push) Has been cancelled Details
Python CI / Format Backend (3.12.x) (push) Has been cancelled Details
Deploy to HuggingFace Spaces / deploy (push) Has been cancelled Details
Create and publish Docker images with specific build args / merge-main-images (push) Has been cancelled Details
Create and publish Docker images with specific build args / merge-cuda-images (push) Has been cancelled Details
Create and publish Docker images with specific build args / merge-cuda126-images (push) Has been cancelled Details
Create and publish Docker images with specific build args / merge-ollama-images (push) Has been cancelled Details

chore: separate otel logs config
This commit is contained in:
Tim Jaeryang Baek 2025-08-03 21:08:55 +04:00 committed by GitHub
commit 7c29084a19
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 11 deletions

View File

@ -651,12 +651,18 @@ OTEL_EXPORTER_OTLP_ENDPOINT = os.environ.get(
OTEL_METRICS_EXPORTER_OTLP_ENDPOINT = os.environ.get( OTEL_METRICS_EXPORTER_OTLP_ENDPOINT = os.environ.get(
"OTEL_METRICS_EXPORTER_OTLP_ENDPOINT", OTEL_EXPORTER_OTLP_ENDPOINT "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 = ( OTEL_EXPORTER_OTLP_INSECURE = (
os.environ.get("OTEL_EXPORTER_OTLP_INSECURE", "False").lower() == "true" os.environ.get("OTEL_EXPORTER_OTLP_INSECURE", "False").lower() == "true"
) )
OTEL_METRICS_EXPORTER_OTLP_INSECURE = ( OTEL_METRICS_EXPORTER_OTLP_INSECURE = (
os.environ.get("OTEL_METRICS_EXPORTER_OTLP_INSECURE", "False").lower() == "true" 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_SERVICE_NAME = os.environ.get("OTEL_SERVICE_NAME", "open-webui")
OTEL_RESOURCE_ATTRIBUTES = os.environ.get( OTEL_RESOURCE_ATTRIBUTES = os.environ.get(
"OTEL_RESOURCE_ATTRIBUTES", "" "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 = os.environ.get(
"OTEL_METRICS_BASIC_AUTH_PASSWORD", OTEL_BASIC_AUTH_PASSWORD "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 = os.environ.get(
"OTEL_OTLP_SPAN_EXPORTER", "grpc" "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 "OTEL_METRICS_OTLP_SPAN_EXPORTER", OTEL_OTLP_SPAN_EXPORTER
).lower() # grpc or http ).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 # TOOLS/FUNCTIONS PIP OPTIONS

View File

@ -13,31 +13,31 @@ from opentelemetry._logs import set_logger_provider
from opentelemetry.sdk.resources import SERVICE_NAME, Resource from opentelemetry.sdk.resources import SERVICE_NAME, Resource
from open_webui.env import ( from open_webui.env import (
OTEL_SERVICE_NAME, OTEL_SERVICE_NAME,
OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_LOGS_EXPORTER_OTLP_ENDPOINT,
OTEL_EXPORTER_OTLP_INSECURE, OTEL_LOGS_EXPORTER_OTLP_INSECURE,
OTEL_BASIC_AUTH_USERNAME, OTEL_LOGS_BASIC_AUTH_USERNAME,
OTEL_BASIC_AUTH_PASSWORD, OTEL_LOGS_BASIC_AUTH_PASSWORD,
OTEL_OTLP_SPAN_EXPORTER, OTEL_LOGS_OTLP_SPAN_EXPORTER,
) )
def setup_logging(): def setup_logging():
headers = [] headers = []
if OTEL_BASIC_AUTH_USERNAME and OTEL_BASIC_AUTH_PASSWORD: if OTEL_LOGS_BASIC_AUTH_USERNAME and OTEL_LOGS_BASIC_AUTH_PASSWORD:
auth_string = f"{OTEL_BASIC_AUTH_USERNAME}:{OTEL_BASIC_AUTH_PASSWORD}" auth_string = f"{OTEL_LOGS_BASIC_AUTH_USERNAME}:{OTEL_LOGS_BASIC_AUTH_PASSWORD}"
auth_header = b64encode(auth_string.encode()).decode() auth_header = b64encode(auth_string.encode()).decode()
headers = [("authorization", f"Basic {auth_header}")] headers = [("authorization", f"Basic {auth_header}")]
resource = Resource.create(attributes={SERVICE_NAME: OTEL_SERVICE_NAME}) resource = Resource.create(attributes={SERVICE_NAME: OTEL_SERVICE_NAME})
if OTEL_OTLP_SPAN_EXPORTER == "http": if OTEL_LOGS_OTLP_SPAN_EXPORTER == "http":
exporter = HttpOTLPLogExporter( exporter = HttpOTLPLogExporter(
endpoint=OTEL_EXPORTER_OTLP_ENDPOINT, endpoint=OTEL_LOGS_EXPORTER_OTLP_ENDPOINT,
headers=headers, headers=headers,
) )
else: else:
exporter = OTLPLogExporter( exporter = OTLPLogExporter(
endpoint=OTEL_EXPORTER_OTLP_ENDPOINT, endpoint=OTEL_LOGS_EXPORTER_OTLP_ENDPOINT,
insecure=OTEL_EXPORTER_OTLP_INSECURE, insecure=OTEL_LOGS_EXPORTER_OTLP_INSECURE,
headers=headers, headers=headers,
) )
logger_provider = LoggerProvider(resource=resource) logger_provider = LoggerProvider(resource=resource)