Настройка Azure Monitor для приложения Python

Примечание

Пакет SDK OpenCensus для Python является устаревшим, но корпорация Майкрософт поддерживает его до прекращения поддержки 30 сентября 2024 г. Теперь мы рекомендуем использовать предложение Python на основе OpenTelemetry и предоставить рекомендации по миграции.

Azure Monitor поддерживает распределенную трассировку, сбор показателей и ведение журнала приложений Python.

Поддерживаемое корпорацией Майкрософт решение для отслеживания и экспорта данных для приложений Python предоставляется с помощью пакета SDK OpenCensus для Python через средства экспорта Azure Monitor.

Корпорация Майкрософт не рекомендует использовать другие пакеты SDK для телеметрии для Python в качестве решения для телеметрии, так как они не поддерживаются.

OpenCensus объединяется в OpenTelemetry. Мы продолжаем рекомендовать OpenCensus, пока OpenTelemetry постепенно созревает.

Предварительные условия

Вам понадобится подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.

Примечание

Поддержка приема ключей инструментирования будет завершена 31 марта 31, 2025 г. Функция продолжит работать, но не будет обновляться или поддерживаться. Перейдите на строки подключения, чтобы использовать новые возможности.

Знакомство с пакетом SDK OpenCensus для Python

OpenCensus — это набор библиотек с открытым кодом, позволяющих собирать распределенную трассировку, метрики и данные телеметрии ведения журнала. С помощью средств экспорта Azure Monitor можно отправлять собранные данные телеметрии в Application Insights. В этой статье описывается процесс настройки средств экспорта OpenCensus и Azure Monitor для Python для отправки данных мониторинга в Azure Monitor.

Инструмент с OpenCensus Python SDK с экспортерами Azure Monitor

Установите средства экспорта OpenCensus Azure Monitor.

python -m pip install opencensus-ext-azure

Пакет SDK использует три экспортера Azure Monitor для отправки различных типов телеметрии в Azure Monitor. traceЭто , metricsи logs. Дополнительные сведения об этих типах телеметрии см. в обзоре платформы данных. Используйте следующие инструкции для отправки этих типов телеметрии с помощью трех средств экспорта.

Сопоставление типов данных телеметрии

OpenCensus сопоставляет следующие средства экспорта с типами телеметрии, отображаемыми в Azure Monitor.

Аспекты наблюдаемости Данные телеметрии, поддерживаемые в Azure Monitor Описание
Журналы Трассировки, исключения, customEvents Данные телеметрии журналов, телеметрии исключений и телеметрии событий
Метрики customMetrics, performanceCounters Настраиваемые счетчики метрик производительности
Трассировка Зависимости запросов Входящие запросы, исходящие запросы

Журналы

  1. Сначала давайте создадим данные метрик локально.

    
    import logging
    
    logger = logging.getLogger(__name__)
    
    def main():
        """Generate random log data."""
        for num in range(5):
            logger.warning(f"Log Entry - {num}")
    
    if __name__ == "__main__":
        main()
    
  2. Для каждого числа в диапазоне создается запись журнала.

    Log Entry - 0
    Log Entry - 1
    Log Entry - 2
    Log Entry - 3
    Log Entry - 4
    
  3. Мы хотим просмотреть эти данные журнала в Azure Monitor. Его можно указать в переменной среды . APPLICATIONINSIGHTS_CONNECTION_STRING Вы также можете передать connection_string непосредственно в AzureLogHandler, но строки подключения не следует добавлять в управление версиями.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<appinsights-connection-string>
    

    Мы рекомендуем использовать строку подключения для создания экземпляров средств экспорта, которые используются для отправки данных телеметрии в Application Insights. Измените код из предыдущего шага, отталкиваясь от следующего примера кода.

    import logging
    from opencensus.ext.azure.log_exporter import AzureLogHandler
    
    logger = logging.getLogger(__name__)
    logger.addHandler(AzureLogHandler())
    
    # Alternatively manually pass in the connection_string
    # logger.addHandler(AzureLogHandler(connection_string=<appinsights-connection-string>))
    
    """Generate random log data."""
    for num in range(5):
        logger.warning(f"Log Entry - {num}")
    
  4. Экспортер отправляет данные журнала в Azure Monitor. Эти данные можно найти в traces.

    traces в этом контексте не совпадает с tracing. traces Здесь относится к типу телеметрии, который отображается в Azure Monitor при использовании AzureLogHandler. Но tracing относится к концепции в OpenCensus и связан с распределенной трассировкой.

    Примечание

    Корневое средство ведения журнала настроено с уровнем warning. Это означает, что все отправленные журналы с меньшим уровнем серьезности игнорируются и, в свою очередь, не будут отправляться в Azure Monitor. Дополнительные сведения см. в документации по ведению журнала.

  5. Вы также можете добавить настраиваемые свойства в сообщения журнала в аргументе extra ключевое слово с помощью custom_dimensions поля . Эти свойства отображаются в виде пар "ключ-значение" customDimensions в Azure Monitor.

    Примечание

    Чтобы эта функция работала, необходимо передать словарь в custom_dimensions поле . При передаче аргументов любого другого типа средство ведения журнала игнорирует их.

    import logging
    
    from opencensus.ext.azure.log_exporter import AzureLogHandler
    
    logger = logging.getLogger(__name__)
    logger.addHandler(AzureLogHandler())
    # Alternatively manually pass in the connection_string
    # logger.addHandler(AzureLogHandler(connection_string=<appinsights-connection-string>))
    
    properties = {'custom_dimensions': {'key_1': 'value_1', 'key_2': 'value_2'}}
    
    # Use properties in logging statements
    logger.warning('action', extra=properties)
    

Примечание

В рамках использования инструментирования Application Insights мы собираем диагностические данные и отправляем их в корпорацию Майкрософт. Эти данные помогают нам использовать и улучшать Application Insights. У вас есть возможность отключить сбор несущественных данных. Дополнительные сведения см. в статье Статистика в Application Insights.

Настройка ведения журнала для приложений Django

Вы можете явно настроить ведение журнала в коде приложения, как показано выше для приложений Django, или указать его в конфигурации ведения журнала Django. Этот код может входить в любой файл, используемый для конфигурации параметров сайта Django, как правило settings.py, .

Сведения о настройке параметров Django см. в разделе Параметры Django. Дополнительные сведения о настройке ведения журнала см. в разделе Ведение журнала Django.

LOGGING = {
    "handlers": {
        "azure": {
            "level": "DEBUG",
            "class": "opencensus.ext.azure.log_exporter.AzureLogHandler",
            "connection_string": "<appinsights-connection-string>",
        },
        "console": {
            "level": "DEBUG",
            "class": "logging.StreamHandler",
            "stream": sys.stdout,
        },
      },
    "loggers": {
        "logger_name": {"handlers": ["azure", "console"]},
    },
}

Убедитесь, что используется средство ведения журнала с тем же именем, которое указано в конфигурации.

# views.py

import logging
from django.shortcuts import request

logger = logging.getLogger("logger_name")
logger.warning("this will be tracked")

Отправить исключения

OpenCensus для Python не выполняет автоматическое отслеживание и отправку данных телеметрии exception. Он отправляется с AzureLogHandler помощью исключений через библиотеку ведения журнала Python. Вы можете добавлять пользовательские свойства, как при обычном ведении журнала.

import logging

from opencensus.ext.azure.log_exporter import AzureLogHandler

logger = logging.getLogger(__name__)
logger.addHandler(AzureLogHandler())
# Alternatively, manually pass in the connection_string
# logger.addHandler(AzureLogHandler(connection_string=<appinsights-connection-string>))

properties = {'custom_dimensions': {'key_1': 'value_1', 'key_2': 'value_2'}}

# Use properties in exception logs
try:
    result = 1 / 0  # generate a ZeroDivisionError
except Exception:
    logger.exception('Captured an exception.', extra=properties)

Так как необходимо регистрировать исключения явным образом, вы можете регистрировать необработанных исключений. OpenCensus не накладывает ограничений на способ ведения журнала, но необходимо явно регистрировать данные телеметрии исключений.

Отправка событий

Вы можете отправлять customEvent данные телеметрии точно так же, как и trace данные телеметрии, за исключением использования AzureEventHandler .

import logging
from opencensus.ext.azure.log_exporter import AzureEventHandler

logger = logging.getLogger(__name__)
logger.addHandler(AzureEventHandler())
# Alternatively manually pass in the connection_string
# logger.addHandler(AzureEventHandler(connection_string=<appinsights-connection-string>))

logger.setLevel(logging.INFO)
logger.info('Hello, World!')

Дискретизация

Сведения о выборке в OpenCensus см. в разделе Выборка в OpenCensus.

Корреляция журнала

Сведения о том, как дополнить журналы данными контекста трассировки, см. в статье Интеграция журналов Python OpenCensus.

Изменение телеметрии

Дополнительные сведения об изменении отслеживаемой телеметрии перед отправкой в Azure Monitor см. в разделе об обработчиках телеметрии OpenCensus для Python.

Метрики

OpenCensus.stats поддерживает четыре метода агрегирования, но обеспечивает частичную поддержку Azure Monitor:

  • Count: количество точек измерения. Значение является накопительным, может только увеличиваться и сбрасывается до 0 при перезапуске.
  • Sum: суммирование точек измерения. Значение является накопительным, может только увеличиваться и сбрасывается до 0 при перезапуске.
  • LastValue: сохраняет последнее записанное значение и удаляет все остальное.
  • Распределение. Средство экспорта Azure не поддерживает распределение гистограмм для точек измерения.

Пример агрегирования счетчиков

  1. Сначала давайте создадим данные метрик локально. Мы создаем метрику для отслеживания количества нажатий клавиши ВВОД .

    
    from datetime import datetime
    from opencensus.stats import aggregation as aggregation_module
    from opencensus.stats import measure as measure_module
    from opencensus.stats import stats as stats_module
    from opencensus.stats import view as view_module
    from opencensus.tags import tag_map as tag_map_module
    
    stats = stats_module.stats
    view_manager = stats.view_manager
    stats_recorder = stats.stats_recorder
    
    prompt_measure = measure_module.MeasureInt("prompts",
                                               "number of prompts",
                                               "prompts")
    prompt_view = view_module.View("prompt view",
                                   "number of prompts",
                                   [],
                                   prompt_measure,
                                   aggregation_module.CountAggregation())
    view_manager.register_view(prompt_view)
    mmap = stats_recorder.new_measurement_map()
    tmap = tag_map_module.TagMap()
    
    def main():
        for _ in range(4):
            mmap.measure_int_put(prompt_measure, 1)
            mmap.record(tmap)
            metrics = list(mmap.measure_to_view_map.get_metrics(datetime.utcnow()))
            print(metrics[0].time_series[0].points[0])
    
    if __name__ == "__main__":
        main()
    
  2. Метрики создаются для многократного отслеживания. При каждом нажатии ее значение увеличивается, и сведения метрики отображаются в консоли. Эти сведения включают текущее значение и текущую отметку времени при обновлении метрики.

    Point(value=ValueLong(5), timestamp=2019-10-09 20:58:04.930426)
    Point(value=ValueLong(6), timestamp=2019-10-09 20:58:05.170167)
    Point(value=ValueLong(7), timestamp=2019-10-09 20:58:05.438614)
    Point(value=ValueLong(7), timestamp=2019-10-09 20:58:05.834216)
    
  3. Ввод значений полезен в демонстрационных целях, но мы хотим отправить данные метрик в Azure Monitor. Передайте строку подключения непосредственно в экспортер. Или можно указать его в переменной среды . APPLICATIONINSIGHTS_CONNECTION_STRING Мы рекомендуем использовать строку подключения для создания экземпляров средств экспорта, которые используются для отправки данных телеметрии в Application Insights. Измените код из предыдущего шага, отталкиваясь от следующего примера кода.

    from datetime import datetime
    from opencensus.ext.azure import metrics_exporter
    from opencensus.stats import aggregation as aggregation_module
    from opencensus.stats import measure as measure_module
    from opencensus.stats import stats as stats_module
    from opencensus.stats import view as view_module
    from opencensus.tags import tag_map as tag_map_module
    
    stats = stats_module.stats
    view_manager = stats.view_manager
    stats_recorder = stats.stats_recorder
    
    prompt_measure = measure_module.MeasureInt("prompts",
                                               "number of prompts",
                                               "prompts")
    prompt_view = view_module.View("prompt view",
                                   "number of prompts",
                                   [],
                                   prompt_measure,
                                   aggregation_module.CountAggregation())
    view_manager.register_view(prompt_view)
    mmap = stats_recorder.new_measurement_map()
    tmap = tag_map_module.TagMap()
    
    exporter = metrics_exporter.new_metrics_exporter()
    # Alternatively manually pass in the connection_string
    # exporter = metrics_exporter.new_metrics_exporter(connection_string='<appinsights-connection-string>')
    
    view_manager.register_exporter(exporter)
    
    def main():
        for _ in range(10):
            input("Press enter.")
            mmap.measure_int_put(prompt_measure, 1)
            mmap.record(tmap)
            metrics = list(mmap.measure_to_view_map.get_metrics(datetime.utcnow()))
            print(metrics[0].time_series[0].points[0])
    
    if __name__ == "__main__":
        main()
    
  4. Программа экспорта отсылает данные метрики в Azure Monitor через фиксированные интервалы. Это значение необходимо задать равным 60 секундам, так как серверная часть Application Insights предполагает агрегирование точек метрик за 60-секундный интервал времени. Мы отслеживаем одну метрику, поэтому данные этой метрики, вне зависимости от содержащихся значений и отметок времени, отправлены через каждый интервал. Данные являются накопительными, могут только увеличиваться и сбрасываются до 0 при перезапуске.

    Данные можно найти в разделе customMetrics, но customMetrics свойства valueCount, valueSum, valueMin, valueMaxи valueStdDev не используются эффективно.

Настройка пользовательских измерений в метриках

Пакет SDK OpenCensus для Python позволяет добавлять пользовательские измерения в данные телеметрии метрик с помощью tags, которые похожи на словарь пар "ключ-значение".

  1. Вставьте теги, которые вы хотите использовать, в карту тегов. Карта тегов действует как своего рода "пул" всех доступных тегов, которые вы можете использовать.

    ...
    tmap = tag_map_module.TagMap()
    tmap.insert("url", "http://example.com")
    ...
    
  2. Для конкретного Viewукажите теги, которые необходимо использовать при записи метрик в этом представлении с помощью ключа тега.

    ...
    prompt_view = view_module.View("prompt view",
                                "number of prompts",
                                ["url"], # <-- A sequence of tag keys used to specify which tag key/value to use from the tag map
                                prompt_measure,
                                aggregation_module.CountAggregation())
    ...
    
  3. Не забудьте использовать карту тегов при записи на карте измерений. Ключи тегов, указанные в View, должны быть найдены в карте тегов, используемой для записи.

    ...
    mmap = stats_recorder.new_measurement_map()
    mmap.measure_int_put(prompt_measure, 1)
    mmap.record(tmap) # <-- pass the tag map in here
    ...
    
  4. customMetrics В таблице все записи метрик, созданные с помощью , prompt_view имеют пользовательские измерения {"url":"http://example.com"}.

  5. Чтобы создать теги с разными значениями с помощью одних и того же ключа, создайте для них новые карты тегов.

    ...
    tmap = tag_map_module.TagMap()
    tmap2 = tag_map_module.TagMap()
    tmap.insert("url", "http://example.com")
    tmap2.insert("url", "https://www.wikipedia.org/wiki/")
    ...
    

Счетчики производительности

По умолчанию, экспортер метрик отправляет набор счетчиков производительности на Azure Monitor. Эту возможность можно отключить, установив для флага enable_standard_metrics значение False в конструкторе средства экспорта метрик.

...
exporter = metrics_exporter.new_metrics_exporter(
  enable_standard_metrics=False,
  )
...

В настоящее время отправляются следующие счетчики производительности:

  • Объем доступной памяти (в байтах)
  • Процессорное время ЦП (в процентах)
  • Частота входящих запросов (в секунду)
  • Среднее время выполнения входящего запроса (в миллисекундах)
  • Использования ЦП процессом (процент)
  • Количество байтов исключительного использования процесса (в байтах)

Эти метрики должны быть доступны в performanceCounters. Дополнительные сведения см. в статье Счетчики производительности.

Изменение телеметрии

Дополнительные сведения об изменении отслеживаемой телеметрии перед отправкой в Azure Monitor см. в разделе об обработчиках телеметрии OpenCensus для Python.

Трассировка

Примечание

В OpenCensus tracingотносится к распределенной трассировке. Параметр AzureExporter отправляет requests данные телеметрии и dependency в Azure Monitor.

  1. Сначала давайте создадим данные трассировки локально. В Python IDLE или любом выбранном текстовом редакторе введите следующий код:

    from opencensus.trace.samplers import ProbabilitySampler
    from opencensus.trace.tracer import Tracer
    
    tracer = Tracer(sampler=ProbabilitySampler(1.0))
    
    def main():
        with tracer.span(name="test") as span:
            for value in range(5):
                print(value)
    
    
    if __name__ == "__main__":
        main()
    
  2. При каждом вводе значение выводится на оболочку. Модуль OpenCensus Python создает соответствующую часть SpanData. Проект OpenCensus определяет трассировку в виде дерева диапазонов.

    0
    [SpanData(name='test', context=SpanContext(trace_id=8aa41bc469f1a705aed1bdb20c342603, span_id=None, trace_options=TraceOptions(enabled=True), tracestate=None), span_id='15ac5123ac1f6847', parent_span_id=None, attributes=BoundedDict({}, maxlen=32), start_time='2019-06-27T18:21:22.805429Z', end_time='2019-06-27T18:21:44.933405Z', child_span_count=0, stack_trace=None, annotations=BoundedList([], maxlen=32), message_events=BoundedList([], maxlen=128), links=BoundedList([], maxlen=32), status=None, same_process_as_parent_span=None, span_kind=0)]
    1
    [SpanData(name='test', context=SpanContext(trace_id=8aa41bc469f1a705aed1bdb20c342603, span_id=None, trace_options=TraceOptions(enabled=True), tracestate=None), span_id='2e512f846ba342de', parent_span_id=None, attributes=BoundedDict({}, maxlen=32), start_time='2019-06-27T18:21:44.933405Z', end_time='2019-06-27T18:21:46.156787Z', child_span_count=0, stack_trace=None, annotations=BoundedList([], maxlen=32), message_events=BoundedList([], maxlen=128), links=BoundedList([], maxlen=32), status=None, same_process_as_parent_span=None, span_kind=0)]
    2
    [SpanData(name='test', context=SpanContext(trace_id=8aa41bc469f1a705aed1bdb20c342603, span_id=None, trace_options=TraceOptions(enabled=True), tracestate=None), span_id='f3f9f9ee6db4740a', parent_span_id=None, attributes=BoundedDict({}, maxlen=32), start_time='2019-06-27T18:21:46.157732Z', end_time='2019-06-27T18:21:47.269583Z', child_span_count=0, stack_trace=None, annotations=BoundedList([], maxlen=32), message_events=BoundedList([], maxlen=128), links=BoundedList([], maxlen=32), status=None, same_process_as_parent_span=None, span_kind=0)]
    
  3. Просмотр выходных данных полезен в демонстрационных целях, но мы хотим отправить их SpanData в Azure Monitor. Передайте строку подключения непосредственно в экспортер. Или можно указать его в переменной среды . APPLICATIONINSIGHTS_CONNECTION_STRING Мы рекомендуем использовать строку подключения для создания экземпляров средств экспорта, которые используются для отправки данных телеметрии в Application Insights. Измените код из предыдущего шага, отталкиваясь от следующего примера кода.

    from opencensus.ext.azure.trace_exporter import AzureExporter
    from opencensus.trace.samplers import ProbabilitySampler
    from opencensus.trace.tracer import Tracer
    
    tracer = Tracer(
        exporter=AzureExporter(),
        sampler=ProbabilitySampler(1.0),
    )
    # Alternatively manually pass in the connection_string
    # exporter = AzureExporter(
    #   connection_string='<appinsights-connection-string>',
    #   ...
    # )
    
    def main():
        with tracer.span(name="test") as span:
            for value in range(5):
                print(value)
    
    if __name__ == "__main__":
        main()
    
  4. Теперь при запуске скрипта Python в оболочке выводится только значение. Созданный фрагмент SpanData будет отправлен в Azure Monitor. Выданные данные диапазонов можно найти в разделе dependencies.

    Дополнительные сведения об исходящих запросах см. в разделе зависимостей OpenCensus для Python. Дополнительные сведения о входящих запросах см. в разделе запросов OpenCensus для Python.

Выборка

Сведения о выборке в OpenCensus см. в разделе Выборка в OpenCensus.

Корреляция трассировки

Дополнительные сведения о корреляции телеметрии в данных трассировки см. в статье Корреляция телеметрии OpenCensus Python.

Изменение телеметрии

Дополнительные сведения об изменении отслеживаемой телеметрии перед отправкой в Azure Monitor см. в разделе об обработчиках телеметрии OpenCensus для Python.

Настройка экспортеров в Azure Monitor

Как показано ниже, существуют три разных экспортера Azure Monitor, которые поддерживают OpenCensus. Каждый из них отправляет различные типы данных телеметрии в Azure Monitor. Сведения о типах данных телеметрии, отправляемых каждым экспортером, см. в следующей таблице.

Каждый из этих экспортеров принимает те же аргументы для конфигурации, которые передаются через конструкторы. Сведения о каждом из них можно просмотреть здесь:

Экспорт данных телеметрии Описание
connection_string Строка подключения, используемая для подключения к ресурсу Azure Monitor. Она имеет приоритет над instrumentation_key.
credential Класс учетных данных, используемый для проверки подлинности Azure Active Directory. См. раздел "Проверка подлинности" ниже.
enable_standard_metrics Используется для объекта AzureMetricsExporter. Оповещает экспортер о том, что метрики счетчиков производительности автоматически отправляются в Azure Monitor. По умолчанию — True.
export_interval Используется для указания частоты экспорта в секундах. По умолчанию — 15s. Для метрик необходимо задать значение 60 секунд, иначе агрегаты метрик не будут иметь смысла в обозревателе метрик.
grace_period Используется для указания времени ожидания для завершения работы экспортеров в секундах. По умолчанию — 5s.
instrumentation_key Ключ инструментирования, используемый для подключения к ресурсу Azure Monitor.
logging_sampling_rate Используется для AzureLogHandler и AzureEventHandler. Предоставляет частоту выборки [0, 1.0] для экспорта журналов и событий. По умолчанию — 1.0.
max_batch_size Указывает максимальный размер данных телеметрии, экспортируемых одновременно.
proxies Указывает последовательность прокси-серверов, используемых для отправки данных в Azure Monitor. Дополнительные сведения см. на странице прокси-серверов.
storage_path Путь к папке локального хранилища (неотправленные данные телеметрии). Начиная с opencensus-ext-azure версии 1.0.3, путь по умолчанию — это временный каталог ОС + opencensus-python + your-ikey. До версии 1.0.3 путь по умолчанию — $USER.azure + python-file-name.opencensus + + .
timeout Указывает время ожидания сети для отправки данных телеметрии в службу приема в секундах. По умолчанию — 10s.

Интеграция с Функциями Azure

Для записи пользовательских данных телеметрии в Функции Azure средах используйте расширение OpenCensus python Функции Azure. Дополнительные сведения см. в руководстве разработчика Функции Azure Python.

Аутентификация (предварительная версия)

Примечание

Функция проверки подлинности доступна начиная с opencensus-ext-azure версии 1.1b0.

Каждый из экспортеров Azure Monitor поддерживает настройку безопасной отправки полезных данных телеметрии с помощью проверки подлинности OAuth с помощью Azure Active Directory. Дополнительные сведения см. в документации по проверке подлинности.

Фильтрация данных с помощью запросов

Данные телеметрии, отправленные из приложения, можно просмотреть на вкладке Журналы (аналитика) .

Снимок экрана: панель

В списке в разделе Активные

  • Для данных телеметрии, отправляемых с помощью средства экспорта трассировки Azure Monitor, входящие запросы отображаются в разделе requests. Исходящие или внутрипроцессные запросы отображаются в разделе dependencies.
  • Для данных телеметрии, отправляемых с помощью средства экспорта метрик Azure Monitor, отправленные метрики отображаются в разделе customMetrics.
  • Для данных телеметрии, отправляемых с помощью средства экспорта журналов Azure Monitor, журналы отображаются в разделе traces. Исключения отображаются в exceptions.

Дополнительные сведения об использовании запросов и журналов см. в статье Журналы в Azure Monitor.

Дополнительные сведения об OpenCensus для Python

Устранение неполадок

Проверка подключения между узлом приложения и службой приема

Пакеты SDK и агенты Application Insights отправляют данные телеметрии для приема в качестве вызовов REST к конечным точкам приема. Вы можете проверить подключение веб-сервера или хост-компьютера приложения к конечным точкам службы приема с помощью необработанных клиентов REST из PowerShell или команд curl. См. статью Устранение неполадок с отсутствующими данными телеметрии приложений в Azure Monitor Application Insights.

Заметки о выпуске

Последние заметки о выпуске см. в статье Python Azure Monitor Exporter.

Наши Обновления службы также обобщают основные улучшения Application Insights.

Дальнейшие действия

видны узлы

  • Обзор доступности. Создайте тесты, чтобы убедиться, что сайт отображается в Интернете.
  • Интеллектуальная диагностика. Эти тесты выполняются автоматически, поэтому вам не нужно их настраивать. Благодаря ей вы узнаете о необычном количестве неудачных запросов.
  • Оповещения о метриках. Настройте оповещения, чтобы получать уведомления в случае, если метрика превысила пороговое значение. Их можно настроить для пользовательских метрик, добавляемых в код приложения.