使用collectd监视docker容器

使用collectd监视docker容器,docker,puppet,Docker,Puppet,我们希望使用collected发布docker容器度量数据,下面提到的是我们的puppet脚本(参考:) 这是我们的木偶片段 collectd::plugin { 'collectd-docker-plugin' : plugin => 'docker', content => template('test-iops/dockerplugin.erb'), } 这是dockerplugin.erb 加载插件python <Plugin python

我们希望使用collected发布docker容器度量数据,下面提到的是我们的puppet脚本(参考:)

这是我们的木偶片段

collectd::plugin { 'collectd-docker-plugin' :
      plugin => 'docker',
      content => template('test-iops/dockerplugin.erb'),
  }
这是dockerplugin.erb

加载插件python

<Plugin python>
  ModulePath "/usr/sbin/collectd"
  Import "dockerplugin"

  <Module dockerplugin>
    BaseURL "unix://var/run/docker.sock"
  </Module>
</Plugin>

我认为问题在于CollectD本身没有
docker
插件。docker collectd插件是一个基于Python的插件

尝试:

collectd::plugin { 'collectd-docker-plugin':
  plugin  => 'python',
  content => template('test-iops/dockerplugin.erb'),
}
通过这样做,您也不需要将
loadpluginpython
放入
.erb
文件中;我相信这个木偶片段已经可以为您做到这一点了(尽管如果它出现两次也不会有什么坏处)


我还建议使用来自的插件版本,它似乎是“真正的”上游存储库。我只是碰巧为它贡献了一大堆修复和改进

你确定你的collectd配置中没有其他部分引用了
docker
插件吗?我们正在使用puppet创建collectd并添加插件。没有其他章节引用docker插件。
collectd::plugin { 'collectd-docker-plugin':
  plugin  => 'python',
  content => template('test-iops/dockerplugin.erb'),
}