2014-10-23 4 views
1

저는 도서관 사서와 함께 요리사 솔로를 사용하여 서버를 관리하고 있습니다. 여기에 내가 로컬이 구조는 다음과 같습니다chef-solo와 함께 lwrp 사용

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 (바인드합니다)

```

저는 LWRP provided by the cookbook을 사용하여 주방장이 수표를 설정하려고합니다. nrpe.cfg

내가 생각할 수있는 구문은 작동하지 않는 것 같습니다. knife solo bootstrap nodename은 구문 오류와 함께 종료되거나 완료되지만 노드에는 아무 것도 추가되지 않습니다. 이를 추가하는 방법에 대한 통찰력 : 위의 역할 파일에서 nrpe 블록

nagios_nrpecheck 'check_load' do command "#{node['nagios']['plugin_dir']}/check_load" warning_condition '6' critical_condition '10' action :add end

많이 이해할 수있을 것이다.

감사합니다.

답변

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]" 
    } 
....