Support service discovery (#215)
* Updates image to docker-dd-agent:11.1.580 * Adds support for service discovery configuration
This commit is contained in:
parent
3550b050db
commit
e34229480c
38
templates/datadog/3/docker-compose.yml
Executable file
38
templates/datadog/3/docker-compose.yml
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
datadog-init:
|
||||||
|
image: janeczku/datadog-rancher-init:v2.2
|
||||||
|
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.1.580
|
||||||
|
entrypoint: /opt/rancher/entrypoint-wrapper.py
|
||||||
|
command:
|
||||||
|
- supervisord
|
||||||
|
- -n
|
||||||
|
- -c
|
||||||
|
- /etc/dd-agent/supervisor.conf
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
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_STATSD_STANDALONE: "${statsd_standalone}"
|
||||||
|
DD_HOST_LABELS: ${host_labels}
|
||||||
|
DD_CONTAINER_LABELS: ${service_labels}
|
||||||
|
DD_SERVICE_DISCOVERY: ${service_discovery}
|
||||||
|
DD_SD_CONFIG_BACKEND: ${sd_config_backend}
|
||||||
|
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'
|
84
templates/datadog/3/rancher-compose.yml
Executable file
84
templates/datadog/3/rancher-compose.yml
Executable file
@ -0,0 +1,84 @@
|
|||||||
|
.catalog:
|
||||||
|
name: "DataDog"
|
||||||
|
version: "11.1.580-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: |
|
||||||
|
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: "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 Config 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: "Config 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: "Config Backend Port"
|
||||||
|
description: |
|
||||||
|
Port to use to connect to the configuration backend.
|
||||||
|
required: false
|
||||||
|
type: "int"
|
||||||
|
- variable: "sd_template_dir"
|
||||||
|
label: "Config 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: "statsd_standalone"
|
||||||
|
label: "Run Standalone DogStatsD"
|
||||||
|
description: |
|
||||||
|
Enable this option to run just the DogStatsD service without the full agent.
|
||||||
|
Should be used with the Global Service option set 'False'.
|
||||||
|
required: true
|
||||||
|
type: "boolean"
|
||||||
|
default: false
|
||||||
|
- variable: "statsd_namespace"
|
||||||
|
label: "StatsD Metric Namespace"
|
||||||
|
description: |
|
||||||
|
Optional namespace for aggregated StatsD metrics.
|
||||||
|
required: false
|
||||||
|
type: "string"
|
@ -1,8 +1,10 @@
|
|||||||
# Datadog Agent & DogStatsD
|
# DataDog Agent
|
||||||
|
|
||||||
This template deploys a Datadog Agent stack consisting of the official [docker-dd-agent image](https://www.github.com/Datadog/docker-dd-agent) and a sidekick config volume with a custom entrypoint script for improved integration with the Rancher Cattle environment:
|
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:
|
||||||
|
|
||||||
* Reports the actual name of the host instead of the container's hostname
|
* Hosts in Datadog are named correctly
|
||||||
* Let's you specify `host` and `service` labels to be mapped to Datadog tags
|
* Host labels can be exported as DataDog host tags
|
||||||
* Starts as global service by default so that system and Docker metrics from every host are captured
|
* Service labels can be exported as DataDog metric tags
|
||||||
* Allows deployment as a standalone `DogStatsD` service that aggregates StatsD metrics sent from applications
|
|
||||||
|
## Service Discovery
|
||||||
|
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.
|
@ -1,7 +1,7 @@
|
|||||||
name: Datadog
|
name: Datadog
|
||||||
description: |
|
description: |
|
||||||
Real-time performance tracking and visualization of your container-based application deployment
|
Real-time performance tracking and visualization of your container-based application deployment
|
||||||
version: 11.0.580-rancher1
|
version: 11.1.580-rancher1
|
||||||
category: Monitoring
|
category: Monitoring
|
||||||
maintainer: "Jan Bruder <jan@rancher.com>"
|
maintainer: "Jan Bruder <jan@rancher.com>"
|
||||||
license: Apache License 2.0
|
license: The MIT License
|
||||||
|
Loading…
x
Reference in New Issue
Block a user