2016-11-07 45 views
0

我試圖從bosun運行scollector。安裝bosun snmp scollector來監視CPU內存保持得到錯誤

我運行了scolector後,它不能顯示內存信息,但CPU信息是正確的。


此代碼:

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

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

[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.mem.used" 
     Oid = ".1.6.7.4.5.0" 
     Unit = "bytes" 
     RateType = "gauge" 

THIS IS LOG

**2016/11/07 17:24:42 error: interval.go:64: snmp-generic-name-fw: asn1: structure error: tags don't match (2 vs {class:0 tag:4 length:11 isCompound:false}) {optional:false explicit:false application:false defaultValue:<nil> tag:<nil> stringType:0 timeType:0 set:false omitEmpty:false} @2** 
2016/11/07 17:24:43 info: queue.go:90: {"metric":"os.cpu","timestamp":1478539482,"value":2,"tags":{"host":"name","product":"fw"}} 
+0

在輸入中實際輸入代碼部分,還是堆棧溢出格式化問題? – captncraig

+0

請忽略「在此輸入代碼」謝謝 – jack

回答

1

它看起來對我來說,這是一個問題轉換數據類型。錯誤來自我們正在使用的asn1庫的深處,但我認爲它歸結爲:cpu表示爲integer,而內存爲string

我們的snmp收集器試圖將所有值解析爲big.Int,但顯然該字符串值不能被我們的asn1庫強制轉換爲該值。

不幸的是,我沒有看到一個好的方法來完成這項工作,除了可能尋找一個返回整數類型的oid。不知道你使用的是什麼設備,這恐怕是我所能提供的。

+0

感謝您的幫助和更新。我換成另一個整數的oid。現在它看起來好得多{「metric」:「os.mem.used」,「timestamp」:1478545910,「value」:1.092190208e + 09,「tags」:{「host」:「name」,「product 「:」 FW「}} – jack