diff --git a/manifests/integrations/elasticsearch.pp b/manifests/integrations/elasticsearch.pp index 0101ce29..e335fa63 100644 --- a/manifests/integrations/elasticsearch.pp +++ b/manifests/integrations/elasticsearch.pp @@ -25,6 +25,7 @@ # class datadog_agent::integrations::elasticsearch( Boolean $cluster_stats = false, + Boolean $index_stats = false, Optional[String] $password = undef, Boolean$pending_task_stats = true, Boolean $pshard_stats = false, @@ -47,6 +48,7 @@ if !$instances and $url { $_instances = [{ 'cluster_stats' => $cluster_stats, + 'index_stats' => $index_stats, 'password' => $password, 'pending_task_stats' => $pending_task_stats, 'pshard_stats' => $pshard_stats, diff --git a/spec/classes/datadog_agent_integrations_elasticsearch_spec.rb b/spec/classes/datadog_agent_integrations_elasticsearch_spec.rb index 29619cb0..bfd48f7f 100644 --- a/spec/classes/datadog_agent_integrations_elasticsearch_spec.rb +++ b/spec/classes/datadog_agent_integrations_elasticsearch_spec.rb @@ -26,6 +26,7 @@ context 'with default parameters' do it { is_expected.to contain_file(conf_file).with_content(%r{ - url: http://localhost:9200}) } it { is_expected.to contain_file(conf_file).with_content(%r{ cluster_stats: false}) } + it { is_expected.to contain_file(conf_file).with_content(%r{ index_stats: false}) } it { is_expected.to contain_file(conf_file).with_content(%r{ pending_task_stats: true}) } it { is_expected.to contain_file(conf_file).with_content(%r{ pshard_stats: false}) } it { is_expected.not_to contain_file(conf_file).with_content(%r{ username}) } @@ -66,6 +67,7 @@ instances: [ { 'cluster_stats' => true, + 'index_stats' => false, 'password' => 'password', 'pending_task_stats' => false, 'pshard_stats' => true, @@ -78,6 +80,7 @@ }, { 'cluster_stats' => false, + 'index_stats' => true, 'password' => 'password_2', 'pending_task_stats' => true, 'pshard_stats' => false, @@ -93,6 +96,7 @@ it { is_expected.to contain_file(conf_file).with_content(%r{instances:}) } it { is_expected.to contain_file(conf_file).with_content(%r{ - url: https://foo:4242}) } it { is_expected.to contain_file(conf_file).with_content(%r{ cluster_stats: true}) } + it { is_expected.to contain_file(conf_file).with_content(%r{ index_stats: false}) } it { is_expected.to contain_file(conf_file).with_content(%r{ pending_task_stats: false}) } it { is_expected.to contain_file(conf_file).with_content(%r{ username: username}) } it { is_expected.to contain_file(conf_file).with_content(%r{ password: password}) } @@ -103,6 +107,7 @@ it { is_expected.to contain_file(conf_file).with_content(%r{ tags:\n - tag1:key1}) } it { is_expected.to contain_file(conf_file).with_content(%r{ - url: https://bar:2424}) } it { is_expected.to contain_file(conf_file).with_content(%r{ cluster_stats: false}) } + it { is_expected.to contain_file(conf_file).with_content(%r{ index_stats: true}) } it { is_expected.to contain_file(conf_file).with_content(%r{ pending_task_stats: true}) } it { is_expected.to contain_file(conf_file).with_content(%r{ username: username_2}) } it { is_expected.to contain_file(conf_file).with_content(%r{ password: password_2}) } diff --git a/templates/agent-conf.d/elastic.yaml.erb b/templates/agent-conf.d/elastic.yaml.erb index 9389ac46..6eebac2e 100644 --- a/templates/agent-conf.d/elastic.yaml.erb +++ b/templates/agent-conf.d/elastic.yaml.erb @@ -12,6 +12,7 @@ instances: password: <%= instance['password'] %> <%- end -%> cluster_stats: <%= instance['cluster_stats'] %> + index_stats: <%= instance['index_stats'] %> pshard_stats: <%= instance['pshard_stats'] %> pending_task_stats: <%= instance['pending_task_stats'] %> <%- if instance['url'].match(/^https/) -%>