我正在尝试使用memcachec插件从memcached中读取数据,但是当我使用以下配置时:
<Plugin "memcachec">
<Page "plugin_instance">
Key "KEY1"
Server "localhost"
...
</Page>
</Plugin>我正在获取memcachec plugin: Option 'server' not allowed here.,如果我删除服务器选项,我将获取memcachec plugin: 'Server' missing in 'Page' block.。我已经检查了memcachec的源代码,其中有以下代码(memcachec.c,第329行):
if (strcasecmp ("Server", child->key) == 0)
status = cmc_config_add_string ("Server", &page->server, child);
if (strcasecmp ("Key", child->key) == 0)
status = cmc_config_add_string ("Key", &page->key, child);
else if (strcasecmp ("Match", child->key) == 0)
/* Be liberal with failing matches => don't set `status'. */
cmc_config_add_match (page, child);
else
{
WARNING ("memcachec plugin: Option `%s' not allowed here.", child->key);
status = -1;
}看起来第二个if应该是else if才能让插件工作。这是一个bug吗?我应该在哪里上报?在官方补丁到来之前,在本地修复它的正确方法是什么?
发布于 2013-03-13 15:49:55
我猜你很久以前就得到了答案,但似乎这个问题已经解决了。报告bug最好使用邮件列表(参见标签信息),或者在github (https://github.com/collectd/collectd)上打开一个问题。
https://stackoverflow.com/questions/11047593
复制相似问题