add-telemetry команда

Добавьте или обновите параметры OpenTelemetry и Azure Application Insights в существующем файле конфигурации построителя данных. runtime.telemetry Если раздел не существует, он создается. Неопределенные параметры оставляют существующие значения неизменными.

Замечание

Параметры телеметрии не настраивается с dab configureпомощью . Используется dab add-telemetry для всех runtime.telemetry изменений.

Общие рекомендации и комплексные пошаговые руководства см. в разделе "Использование трассировок действий OpenTelemetry" и "Использование Azure Application Insights".

Синтаксис

dab add-telemetry [options]

Краткий обзор

Опция Сводка
-c, --config Путь к файлу конфигурации. dab-config.jsonпо умолчанию.

Раздел OpenTelemetry

Опция Сводка
--otel-enabled Включите или отключите OpenTelemetry.
--otel-endpoint URL-адрес конечной точки сборщика OpenTelemetry.
--otel-protocol Протокол экспорта. Допустимые значения: grpc, httpprotobuf.
--otel-service-name Тег имени службы для всех данных телеметрии.
--otel-headers Дополнительные заголовки для отправки в сборщик OpenTelemetry.

Раздел Azure Application Insights

Опция Сводка
--app-insights-enabled Включите или отключите Azure Application Insights.
--app-insights-conn-string Строка подключения Application Insights.

-c, --config

Путь к файлу конфигурации. dab-config.json По умолчанию, если dab-config.<DAB_ENVIRONMENT>.json не существует, где DAB_ENVIRONMENT находится переменная среды.

Пример

dab add-telemetry \
  --config ./my-config.json \
  --otel-enabled true

--otel-enabled

Включите или отключите экспортер OpenTelemetry. Допустимые значения: true, false.

Пример

dab add-telemetry \
  --otel-enabled true

Результирующая конфигурация

{
  "runtime": {
    "telemetry": {
      "open-telemetry": {
        "enabled": true
      }
    }
  }
}

--otel-endpoint

URL-адрес сборщика OpenTelemetry или серверной части. Для gRPC используйте http://<host>:<port>. Например, для HTTP включите полный путь http://<host>:<port>/v1/traces.

Пример

dab add-telemetry \
  --otel-enabled true \
  --otel-endpoint "http://localhost:4317"

Результирующая конфигурация

{
  "runtime": {
    "telemetry": {
      "open-telemetry": {
        "enabled": true,
        "endpoint": "http://localhost:4317"
      }
    }
  }
}

--otel-protocol

Протокол экспорта для экспортера OpenTelemetry. Допустимые значения: grpc, httpprotobuf. По умолчанию — grpc.

Пример

dab add-telemetry \
  --otel-enabled true \
  --otel-endpoint "http://localhost:4318" \
  --otel-protocol "httpprotobuf"

Результирующая конфигурация

{
  "runtime": {
    "telemetry": {
      "open-telemetry": {
        "enabled": true,
        "endpoint": "http://localhost:4318",
        "exporter-protocol": "httpprotobuf"
      }
    }
  }
}

--otel-service-name

Тег имени службы, подключенный ко всем трассировкам и метрикам. Отображается в качестве идентификатора службы в внутренней части телеметрии. По умолчанию — dab.

Пример

dab add-telemetry \
  --otel-enabled true \
  --otel-service-name "my-dab-api"

Результирующая конфигурация

{
  "runtime": {
    "telemetry": {
      "open-telemetry": {
        "enabled": true,
        "service-name": "my-dab-api"
      }
    }
  }
}

--otel-headers

Дополнительные заголовки HTTP для включения при экспорте телеметрии в сборщик. Используйте разделенный key=value запятыми список. Используйте этот параметр для конечных точек сборщика с проверкой подлинности, для которых требуется ключ API или заголовок авторизации.

Пример

dab add-telemetry \
  --otel-enabled true \
  --otel-endpoint "https://collector.example.com:4317" \
  --otel-headers "api-key=my-secret-key"

--app-insights-enabled

Включение или отключение телеметрии Azure Application Insights. Допустимые значения: true, false.

Пример

dab add-telemetry \
  --app-insights-enabled true

Результирующая конфигурация

{
  "runtime": {
    "telemetry": {
      "application-insights": {
        "enabled": true
      }
    }
  }
}

--app-insights-conn-string

Строка подключения для ресурса Azure Application Insights. Используйте ссылку на переменную среды, чтобы избежать фиксации секретов в системе управления версиями.

Предупреждение

Никогда не жестко кодируйте строку подключения непосредственно в файле конфигурации. Использование @env('<variable-name>') или диспетчер секретов.

Пример

dab add-telemetry \
  --app-insights-enabled true \
  --app-insights-conn-string "@env('APP_INSIGHTS_CONN_STRING')"

Результирующая конфигурация

{
  "runtime": {
    "telemetry": {
      "application-insights": {
        "enabled": true,
        "connection-string": "@env('APP_INSIGHTS_CONN_STRING')"
      }
    }
  }
}

Полный пример: OpenTelemetry и Application Insights

В следующем примере можно включить OpenTelemetry и Application Insights в одной команде.

dab add-telemetry \
  --otel-enabled true \
  --otel-endpoint "http://localhost:4317" \
  --otel-protocol "grpc" \
  --otel-service-name "my-dab-api" \
  --app-insights-enabled true \
  --app-insights-conn-string "@env('APP_INSIGHTS_CONN_STRING')"

Результирующая конфигурация

{
  "runtime": {
    "telemetry": {
      "open-telemetry": {
        "enabled": true,
        "endpoint": "http://localhost:4317",
        "service-name": "my-dab-api",
        "exporter-protocol": "grpc"
      },
      "application-insights": {
        "enabled": true,
        "connection-string": "@env('APP_INSIGHTS_CONN_STRING')"
      }
    }
  }
}