2016-12-01 5 views
0

Я попытался настроить bosun scollector, я получаю snmpwalk работает с выводом целочисленного формата, но когда я пытаюсь получить некоторый вывод с использованием процессора, это формат строки, когда выводят.bosun scollector issue with string format output issue

пример: .1.3.6.1.4.1.2620.1.48.23.1.4.1.0 = INTEGER: 23 --- работает

.1.3.6.1.4.1.2620.1.48.29.1.2.2.0 = STRING: "1%" --- не работает

это конфиг:

Host = "http://localhost:8070" 
DisableSelf = true 
Freq = 60 
Filter = ["snmp-generic", "snmp-ifaces"] 

[[SNMP]] 
    Community = "test" 
    Host = "name" 
    MIBs = [ "fwname"] 

[Tags] 
    product = "fw" 

[MIBs] 

    [MIBs.fw] 
    BaseOid = ".1.3.6.1.4.1.2620" 

    [[MIBs.fw.Metrics]] 
     Metric = "os.cpu" 
     Oid = ".1.6.7.2.4.0" 
     Unit = "percent" 
     RateType = "gauge" 
    [[MIBs.fw.Metrics]] 
     Metric = "os.cpu.used" 
     Oid = ".1.6.7.4.5.0" 
     Unit = "percent" 
     RateType = "gauge" 

это сообщение об ошибке:

2016/12/01 21:37:08 error: interval.go:64: snmp-generic-fw strconv.ParseFloat: parsing "0%": invalid syntax 

I знаете, это проблема с строковым форматом, но любая идея, как я могу это исправить поддержки снабжать струной, тетивой и т.п.

спасибо все помогает

+0

вывод строки не может работать, но целая работа без каких-либо проблем – jack

ответ

0

Метрики должны быть целым или плавать значения. Вероятно, ошибка связана с попыткой конвертировать строку типа «60%» в float, что является недопустимым литом/преобразованием. Использование OID для целочисленной версии работает, потому что это можно успешно преобразовать.

Вам нужно будет найти другой OID, который использует необработанные целые числа, или написать пользовательский коллекционер, который преобразует строку «60%» в целое число.