manifests/integrations/redis.pp (38 lines of code) (raw):

# Class: datadog_agent::integrations::redis # # This class will install the necessary configuration for the redis integration # # Parameters: # $host: # The host redis is running on # $password # The redis password (optional) # $port # The main redis port. # $ports # Array of redis ports: overrides port (optional) # $slowlog_max_len # The max length of the slow-query log (optional) # $tags # Optional array of tags # $keys # Optional array of keys to check length # $command_stats # Collect INFO COMMANDSTATS output as metrics # # Sample Usage: # # class { 'datadog_agent::integrations::redis' : # host => 'localhost', # } # # class datadog_agent::integrations::redis( String $host = 'localhost', String $password = '', Variant[String, Integer] $port = '6379', Optional[Array] $ports = undef, Variant[String, Integer] $slowlog_max_len = '', Array $tags = [], Array $keys = [], Boolean $warn_on_missing_keys = true, Boolean $command_stats = false, ) inherits datadog_agent::params { include datadog_agent validate_legacy('Array', 'validate_array', $tags) validate_legacy('Array', 'validate_array', $keys) validate_legacy('Boolean', 'validate_bool', $warn_on_missing_keys) validate_legacy('Boolean', 'validate_bool', $command_stats) validate_legacy('Optional[Array]', 'validate_array', $ports) if $ports == undef { $_ports = [ $port ] } else { $_ports = $ports } validate_legacy('Array', 'validate_array', $_ports) if !$::datadog_agent::agent5_enable { $dst = "${datadog_agent::conf6_dir}/redisdb.yaml" } else { $dst = "${datadog_agent::conf_dir}/redisdb.yaml" } file { $dst: ensure => file, owner => $datadog_agent::params::dd_user, group => $datadog_agent::params::dd_group, mode => '0600', content => template('datadog_agent/agent-conf.d/redisdb.yaml.erb'), require => Package[$datadog_agent::params::package_name], notify => Service[$datadog_agent::params::service_name] } }