統計數據收集代理:Telegraf

jopen 9年前發布 | 16K 次閱讀 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{} })
}

項目主頁:http://www.baiduhome.net/lib/view/home/1434895347999

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!