配置scollector以获取不同收集器的不同频率

时间:2016-04-19 14:53:05

标签: opentsdb bosun scollector

我正在研究scollector,我希望为不同的收集器提供特定的频率。

例如:

  • 每隔5分钟从磁盘使用情况获取信息
  • 每分钟记忆中的信息
  • 每隔30秒
  • iostat
  • 等......

以下是我制作的conf.toml的一部分:

FullHost = true
Freq = 60
DisableSelf = true

[[iostat]]
  Filter = "iostat"
  Freq = 30

[[memory]]
  Filter = "memory"
  Freq = 60

但是我收到了一些错误

./scollector -conf="perso.toml" -p
2016/04/19 14:40:45 fatal: main.go:297: extra keys in perso.toml: [iostat iostat.Freq memory memory.Freq]

似乎我无法乘以频率。

我该怎么做才能得到我想要的东西?

谢谢大家

3 个答案:

答案 0 :(得分:0)

根据scollector documentation,频率是全局设置,因此无法为每个收集器设置不同的频率。例外情况是external collectors,可以放在以所需频率命名的文件夹中(以秒为单位)。

答案 1 :(得分:0)

Freq确实是全局设置,通常设置间隔。虽然一些收集器将间隔重写为不同的值,例如elasticsearch-indices每15分钟运行一次,因为需要提取大量数据。

要改变它

  • (最好)破解scollector代码以读取并将freq参数传递给每个收集器
  • (第二好)提交github问题
  • (最后)你可以在特定的收藏家中更改间隔scollector代码并重新编译scollector

答案 2 :(得分:0)

好吧,我们可能会找到一些东西。 我们创建代表几个Freq(0,30,60,120 ......)的不同文件夹,并在每个文件夹中编写我们需要的外部收集器。

'/etc/collectors/0',
'/etc/collectors/15',
'/etc/collectors/30',
'/etc/collectors/60',
'/etc/collectors/120',
'/etc/collectors/300',
'/etc/collectors/600'

在conf.toml中:

ColDir = "/etc/scollector/collectors"

如果我们想要内部收藏家,我们必须重写它们:(