package main import ( //"flag" "fmt" "os" "math/rand" "git.wecise.com/wecise/common/etcd" "time" ) func main() { //var ctx web.Context cli, err := etcd.Get() if err != nil { _, _ = fmt.Fprintf(os.Stderr, "get etcd client error: %v", err) os.Exit(1) } for i:=0 ; i<10000 ; i++ { rule := fmt.Sprintf(`--class = /matrix/test --parser = json --fields = DATA --ignore = false --stat_interval = 10 --pool_size = 10 memcache.load("NODES","mql","/m3event/entity/node", {{'ip'}},10) memcache.load("NODES1","mql","/m3event/entity/node", {{'ip'}},10) NUM_MAX_LEN = 10 function digitsIntToString(int, len_max) -- 补0 len_max = len_max or NUM_MAX_LEN local s = tostring(int) local zero_number = len_max - #s local s_zero = string.rep("0", zero_number) return table.concat({ s_zero, s }) end local key = omni.join(DATA["Node"],DATA["oidGroupName"],DATA["ifName"],"current") setvar(key, 1, 10, '', false) if DATA["oidGroupName"] == "INTERFACE_TRAFFIC1" and string.match(DATA["ifName"],'eth%d') and _PREVIOUS ~= nil then log.info("loop ssnnmmpp ==> %d",json.string(DATA),json.string(_PREVIOUS),DATA["taskTime"]-_PREVIOUS["taskTime"],serverhostname()) -- log.error(json.string(DATA),json.string(_PREVIOUS),DATA["taskTime"]-_PREVIOUS["taskTime"],serverhostname()) log.info(DATA["ifHCInOctets"],_PREVIOUS["ifHCInOctets"]) end -- DATA["a"] = 12345678901234567 -- DATA["b"] = 12345678901234577 -- local a = 12345678901234567 -- local b = 12345678901234577 -- local d = tostring(a) -- local e = digitsIntToString(a,10) -- local bb = "0"..DATA["b"] -- local aa = "0"..DATA["a"] -- log.info(a,b,aa,bb) -- local c = omni.bps(bb,aa,10) -- log.info(c,d,e,(DATA["b"]/10000-DATA["a"]/10000)*10000,"数值") if DATA.SerialNumber ~= nil then --log.debug(json.string(DATA)) end if DATA.manager == "prometheus" then --log.debug(json.string(DATA)) end --log.debug(DATA.returnStatus, DATA.message) --local res = relookup('test', {'key', 'val'}, DATA.message, true, false) --for i, o in pairs(res) do -- log.debug('relookup string:', i, o.msg) --end --local res2 = relookup(res, {'msg'}, 'testmsg5', true, false) --for i, o in pairs(res2) do -- log.debug('relookup table:', i, o.msg) --end if _PREVIOUS ~= nil then -- log.debug('PREVIOURS: ', json.string(_PREVIOUS)) end -- local ret = rexplookup('trigger_vendor*', {monitortype='SNMP'}, true, false) -- local ret = rexplookup('trigger_new*', {monitortype='SNMP'}, true, false) -- log.info(ret) -- for k,v in pairs(ret) do -- for k1,v1 in pairs(v) do -- if k1=="indicator" then -- log.info(k1,v1) -- end -- end -- -- log.info( v.indicator) -- end --omni.include('/matrix/rules/test/include/include_rule1') --omni.include('/matrix/rules/test/include/include_rule2') --local ret = rexplookup('test*', {key='pping'}, true, true) --if ret ~= nil then -- for i, d in pairs(ret) do -- log.debug(d.msg, d.val) -- --log.debug(i, d) -- end --end --local ret = lookup('test', {key='ping'}) --if ret ~= nil then -- for k, v in pairs(ret) do -- log.debug(k, v) -- end --end -- log.info("ssnnmmpp ==> %d") _IGNORE = true`, i,i) if err = cli.Put("/ootest/rules/snmpd_rule", rule);err != nil { fmt.Printf(err.Error()) } fmt.Println("===========>", i) n := rand.Intn(100)*10 time.Sleep( time.Duration(n) * time.Millisecond) } }