diff --git a/manifests/integrations/nginx.pp b/manifests/integrations/nginx.pp index ce5d6144..c54d632a 100644 --- a/manifests/integrations/nginx.pp +++ b/manifests/integrations/nginx.pp @@ -24,6 +24,7 @@ # class datadog_agent::integrations::nginx( Array $instances = [], + Optional[Array] $logs = undef, ) inherits datadog_agent::params { include datadog_agent diff --git a/spec/classes/datadog_agent_integrations_nginx_spec.rb b/spec/classes/datadog_agent_integrations_nginx_spec.rb index e54dd448..bc3396ae 100644 --- a/spec/classes/datadog_agent_integrations_nginx_spec.rb +++ b/spec/classes/datadog_agent_integrations_nginx_spec.rb @@ -43,11 +43,33 @@ 'nginx_status_url' => 'http://foo.bar:1941/check', 'tags' => %w{foo bar baz} } + ], + logs: [ + { + 'type' => 'file', + 'path' => '/var/log/nginx/access.log', + 'service' => 'nginx', + 'source' => 'nginx', + 'sourcecategory' => 'http_web_access' + }, + { + 'type' => 'file', + 'path' => '/var/log/nginx/error.log', + 'service' => 'nginx', + 'source' => 'nginx', + 'sourcecategory' => 'http_web_access' + } ] }} it { should contain_file(conf_file).with_content(%r{nginx_status_url:.*http://foo.bar:1941/check}m) } it { should contain_file(conf_file).with_content(%r{tags:.*foo.*bar.*baz}m) } + it { should contain_file(conf_file).with_content(%r{type:.*file}m) } + it { should contain_file(conf_file).with_content(%r{path:.*/var/log/nginx/access.log}m) } + it { should contain_file(conf_file).with_content(%r{service:.*nginx}m) } + it { should contain_file(conf_file).with_content(%r{source:.*nginx}m) } + it { should contain_file(conf_file).with_content(%r{sourcecategory:.*http_web_access}m) } + it { should contain_file(conf_file).with_content(%r{path:.*/var/log/nginx/error.log}m) } end end end diff --git a/templates/agent-conf.d/nginx.yaml.erb b/templates/agent-conf.d/nginx.yaml.erb index ac6f7364..6f03361e 100644 --- a/templates/agent-conf.d/nginx.yaml.erb +++ b/templates/agent-conf.d/nginx.yaml.erb @@ -18,4 +18,8 @@ require 'yaml' %> +<% if @logs %> +<%= {'init_config'=>nil, 'instances'=>@instances, 'logs'=>@logs}.to_yaml %> +<% else %> <%= {'init_config'=>nil, 'instances'=>@instances}.to_yaml %> +<% end %>