Проблемы с телеметрией (jtimon/Telegraf) в ОС Juniper (Junos)

мы пытаемся установить некоторую среду телеметрии на маршрутизаторе Juniper VMX (виртуальном), расположенном на AWS.

Мы настроили роутер по документации и попытались получить от него некоторые телеметрические данные через jtimon и Telegraf.

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

Конфигурация маршрутизатора (связанная с телеметрией):

system {
    services {
        extension-service {
            request-response {
                grpc {
                    clear-text {
                        port 32767;}
                    skip-authentication;
                }
            }
            notification {
                allow-clients {
                    address 0.0.0.0/0;
                }
            }
        }
    }
    schema {
        openconfig {
            unhide;}

На Telegraf у нас есть такие настройки (например):

[[inputs.jti_openconfig_telemetry]]

   servers = ["10.0.100.202:32767"]
   sample_frequency = "10000ms"
   sensors = [
    "15000ms /junos/system/linecard/cpu/memory"
    "2000ms  /components"
    ]
   collection_jitter = "0s"
   flush_interval = "15s"
   flush_jitter = "0s"
   precision = ""
   debug = true
   quiet = false

По сути, наши датчики создаются на маршрутизаторе, и мы можем их увидеть с помощью команды show agent sensors. Чего мы не можем понять, так это того, что если мы изменим датчик в конфигурационном файле Telegraf, мы все равно будем получать информацию о всех ранее подписанных датчиках. Для ясности: в примере мы подписываемся на /junos/system/linecard/cpu/memory и /components. Если я удалю эти строки, подпишусь на /interfaces и запущу Telegraf, мы получим информацию от 3 сенсоров (/components, .../cpu/memory и /interfaces).

Как мы понимаем, это связано с ephemeral-конфигурацией под названием junos-analytics, как написано в официальной документации:

Начиная с ОС Junos версии 18.2R1, когда внешний сервер потоковой передачи или сборщик данных предоставляет датчики для экспорта данных через gRPC на устройствах под управлением ОС Junos, конфигурация датчика фиксируется в экземпляре junos-analytics эфемерной базы данных конфигурации, а конфигурация можно просмотреть с помощью операционной команды show ephemeral-configuration instance junos-analytics.

Дело в том, что мы не понимаем, как редактировать/отключать/удалять этот экземпляр junos-analytics. Из того, что мы видим, некоторые новые датчики (иногда с одним и тем же путем) создаются (с другим идентификатором/именем датчика) каждый раз, когда мы запускаем Telegraf. Мы не знаем, как их удалить (мы попытались использовать delete services analytics sensor *sensor_name*, но в результате появилось сообщение об ошибке: оператор не найден...).

Подводя итог, мы действительно получаем данные наших датчиков, но они приходят в середине множества других (бесполезных) ранее подписанных данных.

Я чувствую, что мы можем что-то упустить в конфигурации маршрутизатора, поскольку Telegraf и jtimon показывают одинаковое поведение/результаты.

Любая помощь приветствуется, я, конечно, могу поделиться дополнительной информацией, если это необходимо! Заранее спасибо :)


person Eric-sama    schedule 04.12.2020    source источник
comment
Прежде чем активировать вторую подписку, закрываете ли вы существующую (первую подписку). Если вы его убиваете, то как это делается. Также поделитесь выводом для приведенных ниже команд перед запуском второй подписки. ps -aux | grep jtimon ps -aux | grep telegraf   -  person Nitin Kr    schedule 25.01.2021


Ответы (1)


На всякий случай, если у кого-то возникла такая же проблема: мы связались со службой поддержки Juniper, они попросили нас обновить нашу версию Junos (с 18.2 до 19.X), и это решило проблему!

person Eric-sama    schedule 02.06.2021