۰
از پسزمینهی سیشارپ (C#) میآیم و وقتی میخواستم اپلیکیشن FastAPI با پایتونم را با Azure Application Insights مانیتور کنم، کار واقعاً «نابخردانه سخت» بود. دلیل اصلی هم نبود پشتیبانی مستقیم در Azure و نبود مستندات مناسب برای انجام این کار به صورت دستی بود.
در C# شما میتوانید بدون نوشتن حتی یک خط کد، اپلیکیشن خود را بهصورت خودکار روی App Insights ایسترومنت کنید. اما برای پایتون گزینه مشابهی وجود ندارد.
با این حال میتوانید یک شروع خوب برای ایسترومنت خودکار اپ پایتونیتان داشته باشید با استفاده از OpenTelemetry، چند خط کد ساده و چند متغیر محیطی. اینجوری…
1opentelemetry-api >= 1.10.0 2opentelemetry-sdk >= 1.10.0 3azure-monitor-opentelemetry >= 1.1.1
1from opentelemetry.instrumentation.fastapi import FastAPIInstrumentor 2from azure.monitor.opentelemetry import configure_azure_monitor 3from opentelemetry import trace 4from opentelemetry.trace import get_tracer_provider 5from opentelemetry.propagate import extract 6from logging import getLogger, INFO 7import os 8from fastapi import FastAPI 9 10if os.getenv("APPLICATIONINSIGHTS_CONNECTION_STRING"): 11 configure_azure_monitor() 12 13tracer = trace.get_tracer(__name__, tracer_provider=get_tracer_provider()) 14 15logger = getLogger(__name__) 16 17app = FastAPI() 18 19FastAPIInstrumentor.instrument_app(app)
1APPLICATIONINSIGHTS_CONNECTION_STRING="---your connection string---" 2OTEL_EXPERIMENTAL_RESOURCE_DETECTORS="azure_app_service"
من یک راهحل کامل و عملی روی اینترنت یا حتی ChatGPT پیدا نکردم که کاملاً کار کند. پس امیدوارم این راهنمایی به دردتون بخوره. اعتبارش بیشتر به خاطر این مقاله هست که برای من دقیقاً کار نکرد اما خیلی از کدها را از اون گرفتم.
ضمناً، این هم یه عکس سهامیه از یه سگ که کنار کروسانته!
خودِ کد بسیار خلاصه و سادهس و بهتون این امکان را میدهد که FastAPI را با Azure Application Insights بهصورت خودکار ایسترومنت کنید. با اضافه کردن فقط چند خط کد و تنظیم متغیرهای محیطی، میتوانید مانیتورینگ و تلهمتری برنامهتان را به راحتی فراهم کنید.
لذت ببرید!
۰
کد با می متعهد است که بالاترین سطح کیفی آموزش را در اختیار شما بگذارد. هدف به اشتراک گذاشتن دانش فناوری اطلاعات و توسعه نرم افزار در بالاترین سطح ممکن برای درستیابی به جامعه ای توانمند و قدرتمند است. ما باور داریم هر کسی میتواند با استمرار در یادگیری برنامه نویسی چالش های خود و جهان پیرامون خود را بر طرف کند و به موفقیت های چشم گیر برسد. با ما در این مسیر همراه باشید. کد با می اجتماع حرفه ای برنامه نویسان ایرانی.