forked from DataDog/puppet-datadog-agent
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request DataDog#378 from flyinprogrammer/master
parameterize docker_daemon.yaml
- Loading branch information
Showing
3 changed files
with
123 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,23 +2,39 @@ init_config: | |
# Change the root directory to look at to get cgroup statistics. Useful when running inside a | ||
# container with host directories mounted on a different folder. Default: /. | ||
# Example for the docker-dd-agent container: | ||
# docker_root: /host | ||
docker_root: <%= @docker_root %> | ||
|
||
# Timeout in seconds for the connection to the docker daemon | ||
# Default: 5 seconds | ||
# | ||
# timeout: 10 | ||
timeout: <%= @timeout %> | ||
|
||
# The version of the API the client will use. Specify 'auto' to use the API version provided by the server. | ||
# api_version: auto | ||
api_version: <%= @api_version %> | ||
|
||
# Use TLS encryption while communicating with the Docker API | ||
# | ||
# tls: False | ||
# tls_client_cert: /path/to/client-cert.pem | ||
# tls_client_key: /path/to/client-key.pem | ||
# tls_cacert: /path/to/ca.pem | ||
# tls_verify: True | ||
tls: <%= @tls %> | ||
tls_client_cert: <%= @tls_client_cert %> | ||
tls_client_key: <%= @tls_client_key %> | ||
tls_cacert: <%= @tls_cacert %> | ||
tls_verify: <%= @tls_verify %> | ||
|
||
# Initialization retries | ||
# | ||
# if the agent is expected to start before Docker, | ||
# use these settings to configure the retry policy. | ||
|
||
# init_retry_interval defines how long (in seconds) the docker client | ||
# will wait before retrying initialization. | ||
# Defaults to 0. | ||
# | ||
init_retry_interval: <%= @init_retry_interval %> | ||
|
||
# init_retries configures how many retries are made before failing permanently. | ||
# Defaults to 0. | ||
# | ||
init_retries: <%= @init_retries %> | ||
|
||
instances: | ||
- ## Daemon and system configuration | ||
|
@@ -35,29 +51,76 @@ instances: | |
# Create events whenever a container status change. | ||
# Defaults to true. | ||
# | ||
# collect_events: false | ||
collect_events: <%= @collect_events %> | ||
|
||
# By default we do not collect events with a status ['top', 'exec_start', 'exec_create']. | ||
# Here can be added additional statuses to be filtered. | ||
# List of available statuses can be found here https://docs.docker.com/engine/reference/commandline/events/#object-types | ||
filtered_event_types: [<%= @filtered_event_types && !@filtered_event_types.empty? ? '"' + @filtered_event_types.reject(&:empty?).join('", "') + '"' : nil %>] | ||
|
||
# Collect disk usage per container with docker.container.size_rw and | ||
# docker.container.size_rootfs metrics. | ||
# Warning: This might take time for Docker daemon to generate, | ||
# ensure that `docker ps -a -q` run fast before enabling it. | ||
# Defaults to false. | ||
# | ||
# collect_container_size: false | ||
collect_container_size: <%= @collect_container_size %> | ||
|
||
# Do you use custom cgroups for this particular instance? | ||
# Note: enabling this option modifies the way in which we inspect the containers and causes | ||
# some overhead - if you run a high volume of containers we may timeout. | ||
# | ||
custom_cgroups: <%= @custom_cgroups %> | ||
|
||
# Report docker container healthcheck events as service checks | ||
# Note: enabling this option modifies the way in which we inspect the containers and causes | ||
# some overhead - if you run a high volume of containers we may timeout. | ||
# Container Healthchecks are available starting with docker 1.12, enabling with older | ||
# versions will result in an UNKNOWN state for the service check. | ||
# | ||
# You must whitelist the containers you wish to submit health service checks for. | ||
# Use the same mechanism as the tagging system (see Tag:performance_tags section). | ||
# Example: ["docker_image:tomcat", "container_name:web_front_nginx"] | ||
# | ||
health_service_check_whitelist: [<%= @health_service_check_whitelist && !@health_service_check_whitelist.empty? ? '"' + @health_service_check_whitelist.reject(&:empty?).join('", "') + '"' : nil %>] | ||
|
||
# Collect the container count tagged by state (running, paused, exited, dead) | ||
# Defaults to false. | ||
# | ||
collect_container_count: <%= @collect_container_count %> | ||
|
||
# Collect the volume count for attached and dangling volumes. | ||
# Defaults to false. | ||
# | ||
collect_volume_count: <%= @collect_volume_count %> | ||
|
||
# Collect images stats | ||
# Number of available active images and intermediate images as gauges. | ||
# Defaults to false. | ||
# | ||
# collect_images_stats: false | ||
collect_images_stats: <%= @collect_images_stats %> | ||
|
||
# Collect disk usage per image with docker.image.size and docker.image.virtual_size metrics. | ||
# The check gets this size with the `docker images` command. | ||
# Requires collect_images_stats to be enabled. | ||
# Defaults to false. | ||
# | ||
# collect_image_size: false | ||
collect_image_size: <%= @collect_image_size %> | ||
|
||
# Collect disk metrics (total, used, free) through the docker info command for data and metadata. | ||
# This is useful when these values can't be obtained by the disk check. | ||
# Example: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html | ||
# Note that it only works when the storage driver is devicemapper. | ||
# Explanation of these metrics can be found here: | ||
# https://github.com/docker/docker/blob/v1.11.1/daemon/graphdriver/devmapper/README.md | ||
# Defaults to false. | ||
# | ||
collect_disk_stats: <%= @collect_disk_stats %> | ||
|
||
# Collect containers exit codes and send service checks critical when exit code is not 0 | ||
# Defaults to false. | ||
# | ||
collect_exit_codes: <%= @collect_exit_codes %> | ||
|
||
# Exclude containers based on their tags | ||
# An excluded container will be completely ignored. The rule is a regex on the tags. | ||
|
@@ -75,28 +138,20 @@ instances: | |
# | ||
# Default: include all containers | ||
|
||
|
||
exclude: [<%= @exclude && [email protected]? ? '"' + @exclude.reject(&:empty?).join('", "') + '"' : nil %>] | ||
include: [<%= @include && [email protected]? ? '"' + @include.reject(&:empty?).join('", "') + '"' : nil %>] | ||
|
||
## Tagging | ||
## | ||
<% if @tags and ! @tags.empty? -%> | ||
tags: | ||
<%- Array(@tags).each do |tag| -%> | ||
<%- if tag != '' -%> | ||
- <%= tag %> | ||
<%- end -%> | ||
<%- end -%> | ||
<% end -%> | ||
|
||
# You can add extra tags to your Docker metrics with the tags list option. | ||
# Example: ["extra_tag", "env:testing"] | ||
# | ||
# tags: [] | ||
tags: [<%= @tags && [email protected]? ? '"' + @tags.reject(&:empty?).join('", "') + '"' : nil %>] | ||
|
||
# If the agent is running in an Amazon ECS task, tags container metrics with the ECS task name and version. | ||
# Default: true | ||
# | ||
# ecs_tags: false | ||
ecs_tags: <%= @ecs_tags %> | ||
|
||
# Custom metrics tagging | ||
# Define which Docker tags to apply on metrics. | ||
|
@@ -110,14 +165,19 @@ instances: | |
# - container_name: Name of the container (example: "boring_euclid") | ||
# - container_command: Command ran by the container (example: "echo 1") | ||
# | ||
# performance_tags: ["container_name", image_name", "image_tag", "docker_image"] | ||
performance_tags: [<%= @performance_tags && !@performance_tags.empty? ? '"' + @performance_tags.reject(&:empty?).join('", "') + '"' : nil %>] | ||
|
||
# Tags for containers count metrics. | ||
# Available: ["image_name", "image_tag", "docker_image", "container_command"] | ||
# | ||
# container_tags: ["image_name", "image_tag", "docker_image"] | ||
container_tags: [<%= @container_tags && !@container_tags.empty? ? '"' + @container_tags.reject(&:empty?).join('", "') + '"' : nil %>] | ||
|
||
# List of container label names that should be collected and sent as tags. | ||
# Default to None | ||
# Example: | ||
# collect_labels_as_tags: ["com.docker.compose.service", "com.docker.compose.project"] | ||
collect_labels_as_tags: [<%= @collect_labels_as_tags && !@collect_labels_as_tags.empty? ? '"' + @collect_labels_as_tags.reject(&:empty?).join('", "') + '"' : nil %>] | ||
|
||
# List of docker event attributes to add as tags of the datadog events | ||
# Defaults to None. | ||
# | ||
event_attributes_as_tags: [<%= @event_attributes_as_tags && !@event_attributes_as_tags.empty? ? '"' + @event_attributes_as_tags.reject(&:empty?).join('", "') + '"' : nil %>] |