现需要设计一款SNMP采集器,采集共约50台机器的数据,每台机器上有若干指标值需采集,且每个指标值需独立设置采集周期,我设想的是使用goroutine对50台机器进行并发采集,其中对每项指标采集也使用goroutine,请大牛们赐教,这样的goroutine嵌套能实现吗?P.S.新手上路,求解
更多评论
个人见解:
就是C-S模式的,在每台机器上部署一个采集proxy,采集好数据后,发送给Server做汇总...
可以使用nsq做通讯队列
这样在proxy里,可以定义采集指标
type collect {
info1 int64
into2 int64
....
}
然后做一个worker队列,每个worker是一个定时任务,在定时任务去更新collect的相应采集指标数据
外层,再设置一个定时器,用于proxy定时向Server上报数据
#3