Использовать lwrp с поваром-соло
Я использую chef-solo с библиотекарем-chef для управления своими серверами. Вот структура, которую я имею локально:
Cheffile
Cheffile.lock
cookbooks
data_bags
Gemfile
Gemfile.lock
.git
.gitignore
nodes
README.md
roles
tmp
Каждый узел из nodes/
У dir определена роль, и я добавил большинство общих атрибутов в роли.
Я включил поваренную книгу nrpe в одну из ролей, и она работает для общей части:
`` `
"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, предоставленный поваренной книгой, для настройки проверок в созданном шеф-поваром 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
Блок из ролевого файла выше будет высоко ценится.
Спасибо!
1 ответ
Вы не можете добавить 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]"
}
....