diff --git a/templates/datadog/0/rancher-compose.yml b/templates/datadog/0/rancher-compose.yml index fdf3fc9..50add90 100755 --- a/templates/datadog/0/rancher-compose.yml +++ b/templates/datadog/0/rancher-compose.yml @@ -3,6 +3,7 @@ version: "11.0.563-rancher1" description: "Datadog Agent and DogStatsD" minimum_rancher_version: v0.46.0 + maximum_rancher_version: v1.1.99 questions: - variable: "api_key" label: "DataDog Api Key" diff --git a/templates/datadog/1/rancher-compose.yml b/templates/datadog/1/rancher-compose.yml index 43e87fd..95fab81 100755 --- a/templates/datadog/1/rancher-compose.yml +++ b/templates/datadog/1/rancher-compose.yml @@ -3,6 +3,7 @@ version: "11.0.570-rancher1" description: "Real-time performance tracking and visualization of your container-based application deployment" minimum_rancher_version: v0.46.0 + maximum_rancher_version: v1.1.99 questions: - variable: "api_key" label: "DataDog Api Key" diff --git a/templates/datadog/2/rancher-compose.yml b/templates/datadog/2/rancher-compose.yml index de4136a..172fa83 100755 --- a/templates/datadog/2/rancher-compose.yml +++ b/templates/datadog/2/rancher-compose.yml @@ -3,6 +3,7 @@ version: 11.0.580-rancher1 description: Real-time performance tracking and visualization of your container-based application deployment minimum_rancher_version: v0.46.0 + maximum_rancher_version: v1.1.99 questions: - variable: api_key label: Datadog Api Key diff --git a/templates/datadog/3/rancher-compose.yml b/templates/datadog/3/rancher-compose.yml index 870ebc7..ba0b7c4 100755 --- a/templates/datadog/3/rancher-compose.yml +++ b/templates/datadog/3/rancher-compose.yml @@ -3,6 +3,7 @@ version: "11.1.580-rancher1" description: "Real-time performance tracking and visualization of your container-based application deployment" minimum_rancher_version: v0.46.0 + maximum_rancher_version: v1.1.99 questions: - variable: "api_key" label: "DataDog Api Key" diff --git a/templates/datadog/4/rancher-compose.yml b/templates/datadog/4/rancher-compose.yml index 3f05a4a..107b550 100755 --- a/templates/datadog/4/rancher-compose.yml +++ b/templates/datadog/4/rancher-compose.yml @@ -3,6 +3,7 @@ version: "11.3.585-rancher1" description: "Real-time performance tracking and visualization of your container-based application deployment" minimum_rancher_version: v0.46.0 + maximum_rancher_version: v1.1.99 questions: - variable: "api_key" label: "DataDog Api Key" diff --git a/templates/datadog/5/README.md b/templates/datadog/5/README.md new file mode 100644 index 0000000..0215a9e --- /dev/null +++ b/templates/datadog/5/README.md @@ -0,0 +1,25 @@ +# Datadog agent + +This template deploys a [Datadog](https://www.datadoghq.com/) agent stack consisting of the official [docker-dd-agent](https://www.github.com/Datadog/docker-dd-agent) image and a configuration sidekick that provides closer integration with Rancher: + +* Hosts in Datadog are named correctly +* Host labels can be exported as Datadog host tags +* Service labels can be exported as Datadog metric tags + +## Service Discovery +**Note**: Service discovery templates that contain the `%%host%%` placeholder are currently not working in Rancher 1.2 and up due to the switch to CNI networking. + +Please refer to the Datadog documentation [here](http://docs.datadoghq.com/guides/servicediscovery/) to learn how to provide configuration templates for Service Discovery in etcd or Consul. + +## Changelog + +**1.1.0-11.0.5110** + +New versioning scheme: `-` + +* DEPRECATED: DogStatsd standalone mode +* NEW: Configure global host tags +* NEW: Configure custom log verbosity +* NEW: Enable collection of AWS EC2 custom tags +* NEW: Support for Amazon Linux AMIs +* NEW: Enable Datadog trace agent diff --git a/templates/datadog/5/docker-compose.yml b/templates/datadog/5/docker-compose.yml new file mode 100755 index 0000000..48b7a64 --- /dev/null +++ b/templates/datadog/5/docker-compose.yml @@ -0,0 +1,47 @@ +datadog-init: + image: janeczku/datadog-rancher-init:v2.2.4 + net: none + command: /bin/true + volumes: + - /opt/rancher + labels: + io.rancher.container.start_once: 'true' + io.rancher.container.pull_image: always +datadog-agent: + image: datadog/docker-dd-agent:11.0.5110 + entrypoint: /opt/rancher/entrypoint-wrapper.py + command: + - supervisord + - -n + - -c + - /etc/dd-agent/supervisor.conf + restart: always + environment: + # Evaluated by datadog-agent image + API_KEY: ${api_key} + SD_BACKEND_HOST: ${sd_backend_host} + SD_BACKEND_PORT: ${sd_backend_port} + SD_TEMPLATE_DIR: ${sd_template_dir} + STATSD_METRIC_NAMESPACE: ${statsd_namespace} + DD_APM_ENABLED: ${dd_apm_enabled} + EC2_TAGS: ${dd_ec2_tags} + DD_LOG_LEVEL: ${dd_log_level} + # Evaluated by datadog-init script + DD_HOST_LABELS: ${host_labels} + DD_CONTAINER_LABELS: ${service_labels} + DD_SERVICE_DISCOVERY: ${service_discovery} + DD_SD_CONFIG_BACKEND: ${sd_config_backend} + DD_CONSUL_TOKEN: ${dd_consul_token} + DD_CONSUL_SCHEME: ${dd_consul_scheme} + DD_CONSUL_VERIFY: ${dd_consul_verify} + DD_METADATA_HOSTNAME: rancher-metadata + TAGS: ${host_tags} + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /proc/:/host/proc/:ro + - ${cgroups_location}:/host/sys/fs/cgroup:ro + volumes_from: + - datadog-init + labels: + io.rancher.scheduler.global: "${global_service}" + io.rancher.sidekicks: 'datadog-init' diff --git a/templates/datadog/5/rancher-compose.yml b/templates/datadog/5/rancher-compose.yml new file mode 100755 index 0000000..9dc37b4 --- /dev/null +++ b/templates/datadog/5/rancher-compose.yml @@ -0,0 +1,142 @@ +.catalog: + name: "Datadog" + version: "1.1.0-11.0.5110" + description: "Real-time performance tracking and visualization of your container-based application deployment" + minimum_rancher_version: v1.2.0 + questions: + - variable: "api_key" + label: "Datadog API Key" + description: | + Enter your Datadog API key. + required: true + type: "string" + - variable: "global_service" + label: "Global Service" + description: | + Enable this option to run a Datadog agent container on every host in the environment. + required: true + type: "boolean" + default: true + - variable: "host_labels" + label: "Export Host Labels as Tags" + description: | + Comma delimited list of host labels to export as Datadog host tags, e.g. 'region,zone'. + required: false + type: "string" + - variable: "service_labels" + label: "Export Service Labels as Tags" + description: | + Comma delimited list of service labels to export as Datadog metric tags. + 'io.rancher.stack.name' and 'io.rancher.stack_service.name' are exported by default. + required: false + type: "string" + - variable: "host_tags" + label: "Global Host Tags" + description: | + Comma delimited list of host tags to apply to metrics, e.g. 'simple-tag-0,tag-key-1:tag-value-1'. + required: false + type: "string" + - variable: "dd_ec2_tags" + label: "Collect AWS EC2 Tags" + description: | + Collect AWS EC2 custom tags as agent tags (requires an IAM role associated with the instance). + required: true + type: "boolean" + default: false + - variable: cgroups_location + label: Cgroup directory location + description: | + Set this to '/cgroups/' if your hosts are running Amazon Linux AMIs. + required: true + type: enum + default: '/sys/fs/cgroup/' + options: + - '/sys/fs/cgroup/' + - '/cgroups/' + - variable: "dd_apm_enabled" + label: "Enable APM agent" + description: | + Enable the Datadog trace-agent along with the infrastructure agent, allowing the container to accept traces on 8126/tcp. + required: true + type: "boolean" + default: false + - variable: "service_discovery" + label: "Enable Service Discovery" + description: | + Collect metrics from supported applications running in Docker containers. + required: true + type: "boolean" + default: false + - variable: "sd_config_backend" + label: Service Discovery Configuration Backend + description: | + Choose a key/value store to use for looking up application configuration templates. + If none is provided only auto config templates will be used. + required: true + type: enum + default: none + options: + - none + - etcd + - consul + - variable: "sd_backend_host" + label: "Configuration Backend Host" + description: | + IP address or DNS name to use to connect to the configuration backend. + required: false + type: "string" + - variable: "sd_backend_port" + label: "Configuration Backend Port" + description: | + Port to use to connect to the configuration backend. + required: false + type: "int" + - variable: "sd_template_dir" + label: "Configuration Backend Template Path" + description: | + Specify a custom path where the agent should look for configuration templates in the backend. + The default is '/datadog/check_configs'. + required: false + type: "string" + - variable: "dd_consul_scheme" + label: "Consul Connection Scheme" + description: | + Scheme to use for requests to a Consul backend. + required: false + type: enum + default: http + options: + - http + - https + - variable: "dd_consul_verify" + label: "Verify Consul SSL Certificate" + description: | + Whether to verify the SSL certificate for HTTPS requests to a Consul backend. + required: false + type: "boolean" + default: true + - variable: "dd_consul_token" + label: "Consul ACL Token" + description: | + If the Consul backend uses ACL, specify a token granting read access to the configuration templates. + required: false + type: "string" + - variable: "statsd_namespace" + label: "StatsD Metric Namespace" + description: | + Optional namespace for aggregated StatsD metrics. + required: false + type: "string" + - variable: "dd_log_level" + label: "Agent log level" + description: | + Set the logging verbosity of the Datadog agent. + required: false + type: enum + default: INFO + options: + - CRITICAL + - ERROR + - WARNING + - INFO + - DEBUG diff --git a/templates/datadog/config.yml b/templates/datadog/config.yml index a00e748..79ac921 100755 --- a/templates/datadog/config.yml +++ b/templates/datadog/config.yml @@ -1,7 +1,7 @@ name: Datadog description: | Real-time performance tracking and visualization of your container-based application deployment -version: 11.3.585-rancher1 +version: 1.1.0-11.0.5110 category: Monitoring maintainer: "Jan Bruder " license: The MIT License