Skip to content

ОтелНастройкиTls ​

Настройки TLS для OTLP-транспортов.

Описание ​

Используется для передачи параметров TLS в ОтелHttpТранспорт и ОтелGrpcТранспорт. Соответствует спецификации OTLP Exporter: поля Insecure, Certificate File, Client key file, Client certificate file.

Примечание: поля ФайлКлиентскогоКлюча и ФайлКлиентскогоСертификата (mTLS-клиентский сертификат) принимаются в настройках, но пока не применяются ни одним транспортом:

  • HTTP-транспорт настройки не применяет. HTTP-клиент OneScript (HTTPСоединение, через него работает 1connector) не умеет задавать клиентский и корневой сертификаты: ФайлСертификата HTTP-транспорт тоже не использует. Сертификат сервера по HTTPS этот клиент не проверяет вообще — см. ОтелHttpТранспорт. Insecure по спецификации относится только к gRPC: защищённость HTTP-соединения задаёт схема адреса.
  • gRPC-транспорт использует ФайлСертификата и Insecure. ФайлСертификата — собственный CA для проверки сервера по TLS, Insecure действует только на адрес без схемы: Истина — соединение без TLS. Клиентские ключ и сертификат он игнорирует с предупреждением: mTLS не поддерживает библиотека OPI_GRPC (OpenIntegrations#102).

Сводная таблица опций OTLP по транспортам — в разделе Опции OTLP-экспортёра по транспортам.

Конструктор ​

Конструктор без параметров. При создании все поля инициализируются пустыми строками, Insecure = Ложь.

bsl
Новый ОтелНастройкиTls()

Свойства ​

СвойствоТипПо умолчаниюОписание
ФайлСертификатаСтрока""Путь к файлу корневого сертификата (CA / trust chain)
ФайлКлиентскогоКлючаСтрока""Путь к файлу клиентского приватного ключа (для mTLS)
ФайлКлиентскогоСертификатаСтрока""Путь к файлу клиентского сертификата (для mTLS)
InsecureБулевоЛожьТолько gRPC: если Истина — соединение с адресом без схемы идёт без TLS. Схема http:// или https:// адреса важнее

Методы ​

Применен ​

Проверяет, применены ли какие-либо TLS-настройки.

Возвращает: Булево — Истина, если хотя бы одно поле задано (не пустая строка или Insecure = Истина)

Пример ​

bsl
#Использовать opentelemetry

// gRPC без TLS для адреса без схемы (например, коллектор в той же сети)
НастройкиTls = Новый ОтелНастройкиTls();
НастройкиTls.Insecure = Истина;
Транспорт = Новый ОтелGrpcТранспорт("otel-collector:4317", НастройкиTls);

// С указанием CA-сертификата
НастройкиTls = Новый ОтелНастройкиTls();
НастройкиTls.ФайлСертификата = "/etc/ssl/certs/ca-bundle.crt";

// mTLS: поля принимаются, но пока не применяются транспортами (см. примечание)
НастройкиTls = Новый ОтелНастройкиTls();
НастройкиTls.ФайлСертификата = "/etc/ssl/ca.crt";
НастройкиTls.ФайлКлиентскогоКлюча = "/etc/ssl/client.key";
НастройкиTls.ФайлКлиентскогоСертификата = "/etc/ssl/client.crt";

// Передать в транспорт
Транспорт = Новый ОтелGrpcТранспорт("https://collector.example.com", НастройкиTls);

// Проверить, заданы ли настройки
Если НастройкиTls.Применен() Тогда
    Сообщить("TLS настроен");
КонецЕсли;