команда echo графитового сервера работает, но нет данных из tcl

Tclsh используется для вывода данных на локальный графитовый сервер.

set graphite1_ip 127.0.0.1
set graphite1_port 2003
set snmp_RSSI [exec snmpwalk -Os -c public -v 2c 192.168.1.20 .1.3.6.1.4.1.31926.2.1.1.19]
set splitted_RSSI [regexp -inline -all -- {\S+} $snmp_RSSI]
set radio_RSSI [lindex $splitted_RSSI 3]
puts $radio_RSSI
puts $graphite1_ip
puts $graphite1_port
exec echo "radio.RSSI $radio_RSSI" | nc $graphite1_ip $graphite1_port

Результат:

-56
127.0.0.1
2003

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

puts $radio_RSSI

цвет «$ radio_RSSI» — зеленый, а в:

exec echo "radio.RSSI $radio_RSSI" | nc $graphite1_ip $graphite1_port

цвет «radio.RSSI $ radio_RSSI» — розовый, что означает, что $ radio_RSSI не распознается как значение (-56)

0

Решение

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

echo "test.dummydata 4 `date +%s`" | nc -q0 127.0.0.1 2023
echo "test.dummydata2 4" | nc -q0 127.0.0.1 2023

Обзор /opt/graphite/storage/log/carbon-cache/carbon-cache-a/creates.logЯ мог видеть это test/dummydata.wsp был создан, но не test/dummydata2.wsp,

Похоже, ваши данные удаляются из-за отсутствия отметки времени.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]