统计数据收集代理:Telegraf

jopen 9年前

Telegraf 是一个用 Go 编写的代理程序,可收集系统和服务的统计数据,并写入到 InfluxDB 数据库。

Telegraf 具有内存占用小的特点,通过插件系统开发人员可轻松添加支持其他服务的扩展。

目前已有的插件包括:

  • System (memory, CPU, network, etc.)

  • Docker

  • MySQL

  • PostgreSQL

  • Redis

示例代码:

package cn.huxi.tools.util;   // simple.go     import "github.com/influxdb/telegraf/plugins"     type Simple struct {    Ok bool  }     func (s *Simple) Description() string {    return "a demo plugin"  }     func (s *Simple) SampleConfig() string {    return "ok = true # indicate if everything is fine"  }     func (s *Simple) Gather(acc plugins.Accumulator) error {    if s.Ok {      acc.Add("state", "pretty good", nil)    } else {      acc.Add("state", "not great", nil)    }       return nil  }     func init() {    plugins.Add("simple", func() plugins.Plugin { &Simple{} })  }

项目主页:http://www.open-open.com/lib/view/home/1434895347999