Telegraf 是一个用 Go 编写的代理程序,可收集系统和服务的统计数据,并写入到 InfluxDB 数据库。
Telegraf 具有内存占用小的特点,通过插件系统开发人员可轻松添加支持其他服务的扩展。
目前已有的插件包括:
System (memory, CPU, network, etc.)
示例代码:
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{} }) }
发布于 2017-02-02 23:57:36 | 64 次阅读