Telegraf - 统计数据收集代理


MIT
跨平台
Google Go

软件简介

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{} })
}