Telegraf统计数据收集代理
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{} }) }
评论