В настоящее время я изучаю варианты использования OpenTelemetry с Azure Application Insights для ведения журналов, трассировки и метрик.
Следил за этой конкретной документацией, которая появилась в Google.
Публикация фрагмента здесь на случай, если срок действия ссылки истечет:
# Import the `configure_azure_monitor()` function from the
# `azure.monitor.opentelemetry` package.
from azure.monitor.opentelemetry import configure_azure_monitor
# Import the tracing api from the `opentelemetry` package.
from opentelemetry import trace
# Configure OpenTelemetry to use Azure Monitor with the
# APPLICATIONINSIGHTS_CONNECTION_STRING environment variable.
configure_azure_monitor()
поэтому, когда я пробую это в своем приложении Python, я получаю эту ошибку Cannot find Reference
для configure_azure_monitor
. Также у меня установлен пакет azure-monitor-opentelemetry
с версией 1.6.0.
Где я ошибаюсь? Любая помощь может быть оценена по достоинству.
@RithwikBojja Я хочу посмотреть, как я могу интегрировать opentelemetry с информацией о приложениях Azure, чтобы мне нравилось извлекать метрики из моего приложения.
Так вы хотите отправить в следы?
@RithwikBojja да, это правильно
Я опубликовал ответ @kulasanagar, проверьте.
@RithwikBojja, спасибо, позвольте мне попробовать и вернуться к вам :)
Конечно, это сработает. Будем ждать вашего ответа.
Давайте продолжим обсуждение в чате.
@RithwikBojja, спасибо, теперь я могу отправлять логи. Но я хочу понять, есть ли разница между внедрением его через открытую телеметрию и прямым предоставлением аналитических сведений о приложениях?
Открытая телеметрия имеет множество преимуществ, если сравнивать
Рад, что у тебя всё получилось @kulasangar.
@RithwikBojja, эй, у меня есть еще один вопрос о передаче метрик OTEL в Azure App Insights stackoverflow.com/questions/78793095/… вы бы тоже знали об этом?
Конечно, я проверю @Kulasangar
интегрировать opentelemetry с информацией о приложениях Azure, чтобы я мог получать метрики из своего приложения.
configure_azure_monitor()
не поддерживается в последних версиях Open Telemetry.
Вы можете использовать azure.monitor.opentelemetry.exporter
для отправки журналов в Application Insights с помощью пакета Open Telemetry Package в Python.
Я подписался на Microsoft-Document и могу отправлять журналы.
import logging
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor as blrp
from azure.monitor.opentelemetry.exporter import AzureMonitorLogExporter as amlp
from opentelemetry._logs import (get_logger_provider as glp,set_logger_provider as slp,)
from opentelemetry.sdk._logs import (LoggerProvider,LoggingHandler,)
slp(LoggerProvider())
ri_ex = amlp(
connection_string = "InstrumentationKey=b6*****00;IngestionEndpoint=https://eastus-8.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus.livediagnostics.monitor.azure.com/;ApplicationId=2e74****ddf63"
)
glp().add_log_record_processor(blrp(ri_ex))
ri_han = LoggingHandler()
ri_lger = logging.getLogger(__name__)
ri_lger.addHandler(ri_han )
ri_lger.setLevel(logging.INFO)
ri_lger.warning("Warning Rithwik WARNING ")
ri_lger.error("Error Rithwik")
Выход:
Что ты хочешь делать? какой-нибудь пример, который вы хотите отправить в журналы?