From 1f82f68616435ec84285a5802082a69c85f7bf48 Mon Sep 17 00:00:00 2001 From: Xinyu Zhao <zhaoxinyu@huawei.com> Date: Mon, 21 Apr 2014 23:13:49 +0000 Subject: [PATCH] Make sure only monitor the service logs per role. If the monitored log dir does not exist, rsyslog will abort, so make sure only monitor the logs that are existent. Change-Id: Ic0f265a6a85d1e50d1e6e044d18ccd94f6dd5937 --- chef/cookbooks/rsyslog/attributes/default.rb | 27 +++++----- chef/cookbooks/rsyslog/recipes/client.rb | 51 ++++++++++++++++++- .../templates/default/openstack.conf.erb | 4 +- 3 files changed, 64 insertions(+), 18 deletions(-) diff --git a/chef/cookbooks/rsyslog/attributes/default.rb b/chef/cookbooks/rsyslog/attributes/default.rb index 7eaff92..73376e8 100644 --- a/chef/cookbooks/rsyslog/attributes/default.rb +++ b/chef/cookbooks/rsyslog/attributes/default.rb @@ -22,17 +22,16 @@ default["rsyslog"]["server"] = false default["rsyslog"]["protocol"] = "tcp" default["rsyslog"]["port"] = "514" default["rsyslog"]["server_role"] = "loghost" - -default["rsyslog"]["openstacklog"] = {:"keystone"=>"/var/log/keystone/keystone.log", - :"glance-api"=>"/var/log/glance/api.log", - :"glance-reg"=>"/var/log/glance/registry.log", - :"nova-api"=>"/var/log/nova/api.log", - :"nova-conductor"=>"/var/log/nova/conductor.log", - :"nova-compute"=>"/var/log/nova/compute.log", - :"nova-scheduler"=>"/var/log/nova/scheduler.log", - :"cinder-api"=>"/var/log/cinder/api.log", - :"cinder-scheduler"=>"/var/log/cinder/scheduler.log", - :"cinder-volume"=>"/var/log/cinder/volume.log", - :"quantum-server"=>"/var/log/quantum/server.log", - :"quantum-dhcp"=>"/var/log/quantum/dhcp-agent.log", - :"quantum-l3agent"=>"/var/log/quantum/l3-agent.log"} +default["rsyslog"]["novalog"] = {:"nova-api"=>"/var/log/nova/api.log", + :"nova-conductor"=>"/var/log/nova/conductor.log", + :"nova-compute"=>"/var/log/nova/compute.log", + :"nova-scheduler"=>"/var/log/nova/scheduler.log"} +default["rsyslog"]["glancelog"] = {:"glance-api"=>"/var/log/glance/api.log", + :"glance-reg"=>"/var/log/glance/registry.log"} +default["rsyslog"]["cinderlog"] = {:"cinder-api"=>"/var/log/cinder/api.log", + :"cinder-scheduler"=>"/var/log/cinder/scheduler.log", + :"cinder-volume"=>"/var/log/cinder/volume.log"} +default["rsyslog"]["quantumlog"] = {:"quantum-server"=>"/var/log/quantum/server.log", + :"quantum-dhcp"=>"/var/log/quantum/dhcp-agent.log", + :"quantum-l3agent"=>"/var/log/quantum/l3-agent.log"} +default["rsyslog"]["keystonelog"] = {:"keystone"=>"/var/log/keystone/keystone.log"} diff --git a/chef/cookbooks/rsyslog/recipes/client.rb b/chef/cookbooks/rsyslog/recipes/client.rb index 85c4b86..49a6109 100644 --- a/chef/cookbooks/rsyslog/recipes/client.rb +++ b/chef/cookbooks/rsyslog/recipes/client.rb @@ -18,15 +18,62 @@ # include_recipe "rsyslog" - template "/etc/rsyslog.d/openstack.conf" do +roles="#{node[:roles]}" +if roles.gsub("\n",",").strip =~ /os-compute/ + template "/etc/rsyslog.d/nova.conf" do source "openstack.conf.erb" backup false owner "root" group "root" mode 0644 - variables :loglist => node['rsyslog']['openstacklog'] + variables :loglist => node['rsyslog']['novalog'] notifies :restart, "service[rsyslog]" end +end +if roles.gsub("\n",",").strip =~ /os-identity/ + template "/etc/rsyslog.d/keystone.conf" do + source "openstack.conf.erb" + backup false + owner "root" + group "root" + mode 0644 + variables :loglist => node['rsyslog']['keystonelog'] + notifies :restart, "service[rsyslog]" + end +end +if roles.gsub("\n",",").strip =~ /os-image/ + template "/etc/rsyslog.d/glance.conf" do + source "openstack.conf.erb" + backup false + owner "root" + group "root" + mode 0644 + variables :loglist => node['rsyslog']['glancelog'] + notifies :restart, "service[rsyslog]" + end +end +if roles.gsub("\n",",").strip =~ /os-block-storage/ + template "/etc/rsyslog.d/cinder.conf" do + source "openstack.conf.erb" + backup false + owner "root" + group "root" + mode 0644 + variables :loglist => node['rsyslog']['cinderlog'] + notifies :restart, "service[rsyslog]" + end +end +if roles.gsub("\n",",").strip =~ /os-network/ + template "/etc/rsyslog.d/quantum.conf" do + source "openstack.conf.erb" + backup false + owner "root" + group "root" + mode 0644 + variables :loglist => node['rsyslog']['quantumlog'] + notifies :restart, "service[rsyslog]" + end +end file "/etc/rsyslog.d/server.conf" do action :delete diff --git a/chef/cookbooks/rsyslog/templates/default/openstack.conf.erb b/chef/cookbooks/rsyslog/templates/default/openstack.conf.erb index 41a486b..83976f4 100644 --- a/chef/cookbooks/rsyslog/templates/default/openstack.conf.erb +++ b/chef/cookbooks/rsyslog/templates/default/openstack.conf.erb @@ -6,7 +6,7 @@ $Modload imfile $InputFileTag <%= service %> $InputFileSeverity notice $InputFileFacility local4 - $InputFileStateFile <%= service %> + $InputFileStateFile <%= service %> $InputRunFileMonitor - $InputFilePollInterval 1 + $InputFilePollInterval 2 <% end -%>