Skip to content

Commit d24f03c

Browse files
conorbranaganolivielpeau
authored andcommitted
Add configuration for the process-agent (#465)
Adds the flag for toggling the process-agent plus some additional optional configuration around the process-agent behavior.
1 parent 1587a9e commit d24f03c

File tree

2 files changed

+64
-0
lines changed

2 files changed

+64
-0
lines changed

attributes/default.rb

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,38 @@
289289
# ddtrace ruby gem version
290290
default['datadog']['ddtrace_gem_version'] = nil
291291

292+
# Live processes functionality settings
293+
# Set `enable_process_agent` to:
294+
# * `true` to explicitly enable the process agent
295+
# * `false` to explicitly disable it
296+
# Leave it to `nil` to let the agent's default behavior decide whether to run the process-agent
297+
default['datadog']['enable_process_agent'] = nil
298+
299+
# Comma-separated list of regex patterns matching process commands to blacklist.
300+
# Example: 'my-secret-app,dbpass'
301+
default['datadog']['process_agent']['blacklist'] = nil
302+
303+
# Comma-separated list of regex patterns of containers to include or skip.
304+
# Each pattern should be in the form of "field:pattern" where 'field' is either
305+
# 'image' or 'name'.
306+
# Example: 'image:redis,image:nginx'
307+
default['datadog']['process_agent']['container_blacklist'] = nil
308+
# Whitelist is applied after the blacklist.
309+
default['datadog']['process_agent']['container_whitelist'] = nil
310+
311+
# Full path to store process-agent logs to override the default.
312+
default['datadog']['process_agent']['log_file'] = nil
313+
314+
# If running in full process collection mode ('enable_process_agent' is true)
315+
# overrides the collection intervals for the full and real-time checks in seconds.
316+
default['datadog']['process_agent']['process_interval'] = nil
317+
default['datadog']['process_agent']['rtprocess_interval'] = nil
318+
319+
# If only collecting containers ('enable_process_agent' is false but docker is available)
320+
# overrides the collection intervals for the full and real-time check.
321+
default['datadog']['process_agent']['container_interval'] = nil
322+
default['datadog']['process_agent']['rtcontainer_interval'] = nil
323+
292324
# For custom gem servers on restricted networks
293325
# This attribute only works on Chef >= 12.3
294326
# Change false to the URL of your custom gem server

templates/default/datadog.conf.erb

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,10 @@ end
178178
<% end -%>
179179
<% end -%>
180180

181+
<% if node['datadog']['enabled_process_agent'].is_a?(TrueClass) || node['datadog']['enabled_process_agent'].is_a?(FalseClass) -%>
182+
process_agent_enabled: <%= node['datadog']['enabled_process_agent'] %>
183+
<% end -%>
184+
181185
## Trace settings
182186
<% if node['datadog']['enable_trace_agent'].is_a?(TrueClass) || node['datadog']['enable_trace_agent'].is_a?(FalseClass) -%>
183187
apm_enabled: <%= node['datadog']['enable_trace_agent'] %>
@@ -203,3 +207,31 @@ receiver_port: <%= node['datadog']['receiver_port'] %>
203207
<% unless node['datadog']['connection_limit'].nil? -%>
204208
connection_limit: <%= node['datadog']['connection_limit'] %>
205209
<% end -%>
210+
211+
## Process settings
212+
213+
[process.config]
214+
<% unless node['datadog']['process_agent']['blacklist'].nil? -%>
215+
blacklist: <%= node['datadog']['process_agent']['blacklist'] %>
216+
<% end -%>
217+
<% unless node['datadog']['process_agent']['container_blacklist'].nil? -%>
218+
container_blacklist: <%= node['datadog']['process_agent']['container_blacklist'] %>
219+
<% end -%>
220+
<% unless node['datadog']['process_agent']['container_whitelist'].nil? -%>
221+
container_whitelist: <%= node['datadog']['process_agent']['container_whitelist'] %>
222+
<% end -%>
223+
<% unless node['datadog']['process_agent']['process_interval'].nil? -%>
224+
process_interval = <%= node['datadog']['process_agent']['process_interval'] %>
225+
<% end -%>
226+
<% unless node['datadog']['process_agent']['rtprocess_interval'].nil? -%>
227+
rtprocess_interval = <%= node['datadog']['process_agent']['rtprocess_interval'] %>
228+
<% end -%>
229+
<% unless node['datadog']['process_agent']['container_interval'].nil? -%>
230+
container_interval = <%= node['datadog']['process_agent']['container_interval'] %>
231+
<% end -%>
232+
<% unless node['datadog']['process_agent']['rtcontainer_interval'].nil? -%>
233+
rtcontainer_interval = <%= node['datadog']['process_agent']['rtcontainer_interval'] %>
234+
<% end -%>
235+
<% unless node['datadog']['process_agent']['log_file'].nil? -%>
236+
log_file: <%= node['datadog']['process_agent']['log_file'] %>
237+
<% end -%>

0 commit comments

Comments
 (0)