Puppet Class: datadog_agent::system_probe

Inherits:
datadog_agent::params
Defined in:
manifests/system_probe.pp

Overview

Class: datadog_agent::system_probe

This class contains the Datadog agent system probe (NPM) configuration. On Windows, install the NPM driver by setting ‘windows_npm_install’ to ‘true on the datadog_agent class.

Parameters:

  • enabled (Boolean) (defaults to: false)
  • network_enabled (Boolean) (defaults to: false)
  • service_monitoring_enabled (Boolean) (defaults to: false)
  • log_file (Optional[String]) (defaults to: undef)
  • sysprobe_socket (Optional[String]) (defaults to: undef)
  • enable_oom_kill (Boolean) (defaults to: false)
  • runtime_security_config (Optional[Hash]) (defaults to: undef)
  • service_enable (Boolean) (defaults to: true)
  • service_ensure (String) (defaults to: 'running')
  • service_provider (Optional[String]) (defaults to: undef)


7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'manifests/system_probe.pp', line 7

class datadog_agent::system_probe (
  Boolean $enabled                        = false,
  Boolean $network_enabled                = false,
  Boolean $service_monitoring_enabled     = false,
  Optional[String] $log_file              = undef,
  Optional[String] $sysprobe_socket       = undef,
  Boolean $enable_oom_kill                = false,
  Optional[Hash] $runtime_security_config = undef,

  Boolean $service_enable = true,
  String $service_ensure = 'running',
  Optional[String] $service_provider = undef,
) inherits datadog_agent::params {
  $sysprobe_config = {
    'system_probe_config' => {
      'enabled' => $enabled,
      'sysprobe_socket' => $sysprobe_socket,
      'log_file' => $log_file,
      'enable_oom_kill' => $enable_oom_kill,
    },
    'network_config' => {
      'enabled' => $network_enabled,
    },
    'service_monitoring_config' => {
      'enabled' => $service_monitoring_enabled,
    },
    'runtime_security_config' => $runtime_security_config,
  }

  if $facts['os']['name'] == 'Windows' {
    file { 'C:/ProgramData/Datadog/system-probe.yaml':
      owner   => $datadog_agent::params::dd_user,
      group   => $datadog_agent::params::dd_group,
      mode    => '0640',
      content => template('datadog_agent/system_probe.yaml.erb'),
      require => File['C:/ProgramData/Datadog'],
      notify  => Service[$datadog_agent::params::service_name],
    }
  } else {
    if $service_provider {
      service { $datadog_agent::params::sysprobe_service_name:
        ensure    => $service_ensure,
        enable    => $service_enable,
        provider  => $service_provider,
        hasstatus => false,
        pattern   => 'dd-agent',
        require   => Package[$datadog_agent::params::package_name],
      }
    } else {
      service { $datadog_agent::params::sysprobe_service_name:
        ensure    => $service_ensure,
        enable    => $service_enable,
        hasstatus => false,
        pattern   => 'dd-agent',
        require   => Package[$datadog_agent::params::package_name],
      }
    }

    file { '/etc/datadog-agent/system-probe.yaml':
      owner   => $datadog_agent::params::dd_user,
      group   => $datadog_agent::params::dd_group,
      mode    => '0640',
      content => template('datadog_agent/system_probe.yaml.erb'),
      notify  => Service[$datadog_agent::params::sysprobe_service_name],
      require => File['/etc/datadog-agent'],
    }
  }
}