我正在使用厨师独奏与图书管理员厨师来管理我的服务器。这是我在当地的结构:
Cheffile
Cheffile.lock
cookbooks
data_bags
Gemfile
Gemfile.lock
.git
.gitignore
nodes
README.md
roles
tmp
nodes/
目录中的每个节点都定义了一个角色,我在角色中添加了大部分通用属性。
我已将nrpe cookbook包含在其中一个角色中,并且它适用于通用部分:
```
"apache" => {
"timeout" => 5,
"keep_alive" => 'On',
"max_keep_alive_requests" => 100,
"keep_alive_timeout" => 5,
"prefork" => {
"start_servers" => 5,
"min_spare_servers" => 5,
"max_spare_servers" => 10,
"max_clients" => 100,
"max_requests_per_child" => 1000
}
},
"nrpe" => {
"server_port" => 5666,
"connection_timeout" => 300,
"dont_blame_nrpe" => 1,
"command_timeout" => 60,
"allowed_hosts" => ["10.1.1.10,10.11.1.11"],
}
} override_attributes(ATTRS)
```
我现在正尝试使用LWRP provided by the cookbook设置厨师创建的支票nrpe.cfg
我能想到的任何语法似乎都不起作用。 knife solo bootstrap nodename
退出时会出现语法错误或完成,但节点上没有添加任何内容。有关如何添加此内容的任何见解:
nagios_nrpecheck 'check_load' do
command "#{node['nagios']['plugin_dir']}/check_load"
warning_condition '6'
critical_condition '10'
action :add
end
在上面角色文件的nrpe
块中将非常感激。
谢谢!
答案 0 :(得分:2)
您无法将LWRP添加到角色的运行列表中。您必须将LWRP声明包装在配方中,然后将配方添加到角色的运行列表或节点运行列表中。
<强> my_wrapper_cookbook/recipes/nrpecheck.rb
强>
nagios_nrpecheck 'check_load' do
command "#{node['nagios']['plugin_dir']}/check_load"
warning_condition '6'
critical_condition '10'
action :add
end
<强> role
强>
....
run_list: {
"recipe[my_wrapper_cookbook::nrpecheck]"
}
....