vm/chef/cookbooks/nagios/recipes/default.rb (95 lines of code) (raw):

# Copyright 2018 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. include_recipe 'c2d-config::default' include_recipe 'apache2::default' include_recipe 'apache2::mod-rewrite' include_recipe 'apache2::rm-index' apt_update do action :update end package 'install packages core' do package_name node['nagios']['packages']['core'] action :install end package 'install packages plugins' do package_name node['nagios']['packages']['plugins'] action :install end # download nagios core remote_file "/tmp/#{node['nagios']['core']['file']}" do source node['nagios']['core']['url'] action :create end # download nagios-plugins remote_file "/tmp/#{node['nagios']['plugins']['file']}" do source node['nagios']['plugins']['url'] action :create end # download NRPE plugin remote_file "/tmp/#{node['nagios']['nrpe']['file']}" do source node['nagios']['nrpe']['url'] action :create end # download NCPA plugin remote_file "/tmp/#{node['nagios']['ncpa']['file']}" do source node['nagios']['ncpa']['url'] action :create end template '/etc/apache2/sites-available/nagios-http-redirect.conf' do source 'nagios-http-redirect-conf.erb' cookbook 'nagios' owner 'root' group 'root' mode '0644' end # configure and build nagios bash 'configure nagios' do user 'root' cwd '/tmp' code <<-EOH # copy sources cp '#{node['nagios']['core']['file']}' /usr/src/ cp '#{node['nagios']['plugins']['file']}' /usr/src/ cp '#{node['nagios']['nrpe']['file']}' /usr/src/ cp '#{node['nagios']['ncpa']['file']}' /usr/src/ cd /usr/src/ tar -xf '#{node['nagios']['core']['file']}' tar -xf '#{node['nagios']['plugins']['file']}' tar -xf '#{node['nagios']['nrpe']['file']}' cd - # install nagios core tar -xf '#{node['nagios']['core']['file']}' cd '#{node['nagios']['core']['dir']}' ./configure -with-httpd-conf=/etc/apache2/sites-enabled make all make install-groups-users usermod -a -G nagios www-data make install make install-daemoninit make install-commandmode make install-config make install-webconf cd ../ # install nagios-plugins tar -xf '#{node['nagios']['plugins']['file']}' cd '#{node['nagios']['plugins']['dir']}' ./tools/setup ./configure make all make install cd ../ # install NRPE plugin tar -xf '#{node['nagios']['nrpe']['file']}' cd '#{node['nagios']['nrpe']['dir']}' PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ./configure make all make install-plugin cd ../ # install NCPA plugin tar -xf '#{node['nagios']['ncpa']['file']}' cp check_ncpa.py /usr/local/nagios/libexec chown root:nagios /usr/local/nagios/libexec/check_ncpa.py chmod 755 /usr/local/nagios/libexec/check_ncpa.py a2enmod cgi ssl a2dissite 000-default a2ensite default-ssl nagios-http-redirect EOH end service 'apache2' do action [ :enable ] end service 'nagios' do action [ :enable ] end c2d_startup_script 'nagios' do source 'opt-c2d-scripts-nagios.erb' action :template end