мы пытаемся установить некоторую среду телеметрии на маршрутизаторе 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 показывают одинаковое поведение/результаты.
Любая помощь приветствуется, я, конечно, могу поделиться дополнительной информацией, если это необходимо! Заранее спасибо :)
ps -aux | grep jtimon
ps -aux | grep telegraf
- person Nitin Kr   schedule 25.01.2021