在安装ELKstack cookbook时出现关于节点的错误

时间:2014-10-14 18:57:04

标签: chef logstash

我的厨师 - 客户端运行无法在我的测试节点上运行配方。失败时会出错;这是我的Ubuntu工作站上的最终输出:

Recipe Compile Error in /var/chef/cache/cookbooks/elkstack/recipes/single.rb

undefined method `[]' for nil:NilClass

/var/chef/cache/cookbooks/elkstack/recipes/logstash.rb:22:in 'from_file'
/var/chef/cache/cookbooks/elkstack/recipes/single.rb:14:in 'from_file'

这是导致错误的行,我不确定在对属性进行故障排除时从哪里开始:

>> directory node['logstash']['instance_default']['basedir'] do
  owner node['logstash']['instance_default']['user']
  group node['logstash']['instance_default']['group']
  mode '0755'
end

2 个答案:

答案 0 :(得分:0)

该错误表示未设置node['logstash']node['logstash']['instance_default']。在Ruby中,当你从哈希请求一个不存在的密钥时,你得到的是零。通常这种东西应该在cookbook的属性文件中设置默认值。检查您的依赖项是否正确。

答案 1 :(得分:0)

您正在使用旧版本的logstash cookbook,或者您正在使用其他一些logstash cookbook。我建议您确保在Berksfile中有一个logstash条目(因为正在使用的logstash食谱,而厨师社区中最受欢迎的,由于其他人已经取名,因此没有上传到超市)。

FWIW,项目主要文件Things You Should Know下的项目2。