diff --git a/templates/datadog/0/README.md b/templates/datadog/0/README.md deleted file mode 100644 index b141d24..0000000 --- a/templates/datadog/0/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# DataDog Agent Service - -## Info -Based on the official [Datadog Agent Docker image](github.com/DataDog/docker-dd-agent) with a few changes to the init script to better support the Rancher environment. - -## Notable Improvements -* Hostname reported to DataDog is the actual name of the host (per Rancher Metadata service) -* User can specify host labels which will be sent to DataDog as key:value tags for the host -* User can either deploy the DogStat Agent globally on every host or deploy a single instance of a standalone DogStatsD -* The later is useful if you just want a StatsD aggregator to which other services can send metrics - -[Github repository for the image](https://github.com/janeczku/dd-agent-rancher) -[Docker Hub trusted image builds](https://hub.docker.com/r/janeczku/dd-agent-rancher) diff --git a/templates/datadog/1/docker-compose.yml b/templates/datadog/1/docker-compose.yml new file mode 100755 index 0000000..1b719fd --- /dev/null +++ b/templates/datadog/1/docker-compose.yml @@ -0,0 +1,32 @@ +datadog-init: + image: janeczku/datadog-rancher-init:latest + 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.570 + entrypoint: /opt/rancher/entrypoint.sh + command: + - supervisord + - -n + - -c + - /etc/dd-agent/supervisor.conf + restart: always + environment: + API_KEY: ${api_key} + DOGSTATSD_ONLY: "${statsd_standalone}" + STATSD_METRIC_NAMESPACE: ${statsd_namespace} + HOST_LABELS: ${host_labels} + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /proc/:/host/proc/:ro + - /sys/fs/cgroup/:/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/1/rancher-compose.yml b/templates/datadog/1/rancher-compose.yml new file mode 100755 index 0000000..43e87fd --- /dev/null +++ b/templates/datadog/1/rancher-compose.yml @@ -0,0 +1,42 @@ +.catalog: + name: "DataDog" + version: "11.0.570-rancher1" + description: "Real-time performance tracking and visualization of your container-based application deployment" + minimum_rancher_version: v0.46.0 + questions: + - variable: "api_key" + label: "DataDog Api Key" + description: "Your DataDog API key" + required: true + type: "string" + - variable: "host_labels" + label: "Host Labels to DataDog Tags" + description: | + Comma delimited list of host labels to use as DataDog 'key:value' tags. + Example: 'instance-flavor,aws-region' + required: false + type: "string" + - variable: "global_service" + label: "Deploy as Global Service" + description: | + Enable this option to run an instance of the DataDog Agent on every host. + If you merely want a StatsD aggregator to which other services can send + metrics, then you probably want to disable this and instead enable the Standalone mode. + required: true + type: "boolean" + default: true + - variable: "statsd_standalone" + label: "Deploy Standalone DogStatsD" + description: | + Enable this option to run only DogStatsD without the full Agent. + You can then send StatsD metrics to port 8125/udp of the service. + required: true + type: "boolean" + default: false + - variable: "statsd_namespace" + label: "StatsD Metric Namespace" + description: | + You may optionally set a namespace for all StatsD metrics aggregated by this service so + that 'metric.name' will become 'namespace.metric.name'. + required: false + type: "string" diff --git a/templates/datadog/README.md b/templates/datadog/README.md new file mode 100644 index 0000000..7a95c17 --- /dev/null +++ b/templates/datadog/README.md @@ -0,0 +1,8 @@ +# DataDog Agent & DogStatsD + +This service uses the [official](https://www.github.com/DataDog/docker-dd-agent) Datadog Agent image and a sidekick data volume containing a customized entrypoint script for improved integration with the Rancher environment. + +* The `hostname` reported to DataDog is the actual name of the host +* You may specify `host labels` which are used as DataDog tags +* Service will be deployed globally by default so that every host is monitored by a `DataDog Agent` +* Alternatively you may deploy just a single `DogStatsD` instance which then acts as a metrics aggregator for other services diff --git a/templates/datadog/config.yml b/templates/datadog/config.yml index 51d3baa..fd59ce3 100755 --- a/templates/datadog/config.yml +++ b/templates/datadog/config.yml @@ -1,8 +1,7 @@ name: Datadog description: | - Datadog Agent and DogStatsD -version: 11.0.563-rancher1 + Real-time performance tracking and visualization of your container-based application deployment +version: 11.0.570-rancher1 category: Monitoring maintainer: "Jan Broer " license: The MIT License -projectURL: http://www.github.com/janeczku/dd-agent-rancher