Skip to content

Instantly share code, notes, and snippets.

@moosh3
Created November 22, 2018 00:20
Show Gist options
  • Save moosh3/4f86fdb6f302e22977fa4a68c1d65e92 to your computer and use it in GitHub Desktop.
Save moosh3/4f86fdb6f302e22977fa4a68c1d65e92 to your computer and use it in GitHub Desktop.
datadog
# Default values for datadog.
image:
# This chart is compatible with different images, please choose one
repository: datadog/agent # Agent6
# repository: datadog/dogstatsd # Standalone DogStatsD6
tag: 6.6.0 # Use 6.6.0-jmx to enable jmx fetch collection
pullPolicy: IfNotPresent
## It is possible to specify docker registry credentials
## See https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
# pullSecrets:
# - name: regsecret
# NB! Normally you need to keep Datadog DaemonSet enabled!
# The exceptional case could be a situation when you need to run
# single DataDog pod per every namespace, but you do not need to
# re-create a DaemonSet for every non-default namespace install.
# Note, that StatsD and DogStatsD work over UDP, so you may not
# get guaranteed delivery of the metrics in Datadog-per-namespace setup!
daemonset:
enabled: true
## Bind ports on the hostNetwork. Useful for CNI networking where hostPort might
## not be supported. The ports will need to be available on all hosts. Can be
## used for custom metrics instead of a service endpoint.
## WARNING: Make sure that hosts using this are properly firewalled otherwise
## metrics and traces will be accepted from any host able to connect to this host.
# useHostNetwork: true
## Sets the hostPort to the same value of the container port. Can be used as
## for sending custom metrics. The ports will need to be available on all
## hosts.
## WARNING: Make sure that hosts using this are properly firewalled otherwise
## metrics and traces will be accepted from any host able to connect to this host.
# useHostPort: true
## Run the agent in the host's PID namespace. This is required for Dogstatsd origin
## detection to work. See https://docs.datadoghq.com/developers/dogstatsd/unix_socket/
# useHostPID: true
## Annotations to add to the DaemonSet's Pods
# podAnnotations:
# scheduler.alpha.kubernetes.io/tolerations: '[{"key": "example", "value": "foo"}]'
## Allow the DaemonSet to schedule on tainted nodes (requires Kubernetes >= 1.6)
# tolerations: []
## Allow the DaemonSet to schedule on selected nodes
# Ref: https://kubernetes.io/docs/user-guide/node-selection/
# nodeSelector: {}
## Allow the DaemonSet to schedule ussing affinity rules
# Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
# affinity: {}
## Allow the DaemonSet to perform a rolling update on helm update
## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/
# updateStrategy: RollingUpdate
## Sets PriorityClassName if defined
# priorityClassName:
# Apart from DaemonSet, deploy Datadog agent pods and related service for
# applications that want to send custom metrics. Provides DogStasD service.
#
# HINT: If you want to use datadog.collectEvents, keep deployment.replicas set to 1.
deployment:
enabled: false
replicas: 1
# Affinity for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {}
# Tolerations for pod assignment
# Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
tolerations: []
# If you're using a NodePort-type service and need a fixed port, set this parameter.
# dogstatsdNodePort: 8125
# traceNodePort: 8126
service:
type: ClusterIP
annotations: {}
## Sets PriorityClassName if defined
# priorityClassName:
## deploy the kube-state-metrics deployment
## ref: https://github.com/kubernetes/charts/tree/master/stable/kube-state-metrics
kubeStateMetrics:
enabled: true
# This is the new cluster agent implementation that handles cluster-wide
# metrics more cleanly, separates concerns for better rbac, and implements
# the external metrics API so you can autoscale HPAs based on datadog
# metrics
clusterAgent:
containerName: cluster-agent
image:
repository: datadog/cluster-agent
tag: 1.0.0
pullPolicy: IfNotPresent
enabled: false
## This needs to be at least 32 characters a-zA-z
## It is a preshared key between the node agents and the cluster agent
token: ""
replicas: 1
## Enable the metricsProvider to be able to scale based on metrics in Datadog
metricsProvider:
enabled: false
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: 200m
memory: 256Mi
datadog:
## You'll need to set this to your Datadog API key before the agent will run.
## ref: https://app.datadoghq.com/account/settings#agent/kubernetes
##
# apiKey:
## Use existing Secret which stores API key instead of creating a new one
# apiKeyExistingSecret:
## If you are using clusterAgent.metricsProvider.enabled = true, you'll need
## a datadog app key for read access to the metrics
# appKey:
## Use existing Secret which stores APP key instead of creating a new one
# appKeyExistingSecret:
## Daemonset/Deployment container name
## See clusterAgent.containerName if clusterAgent.enabled = true
##
name: datadog
## Set logging verbosity.
## ref: https://github.com/DataDog/docker-dd-agent#environment-variables
## Note: For Agent6 (image `datadog/agent`) the valid log levels are
## trace, debug, info, warn, error, critical, and off
##
logLevel: INFO
## Un-comment this to make each node accept non-local statsd traffic.
## ref: https://github.com/DataDog/docker-dd-agent#environment-variables
##
# nonLocalTraffic: true
## Enable container runtime socket volume mounting
useCriSocketVolume: true
## Set host tags.
## ref: https://github.com/DataDog/docker-dd-agent#environment-variables
##
# tags:
## Enables event collection from the kubernetes API
## ref: https://github.com/DataDog/docker-dd-agent#environment-variables
##
collectEvents: false
## Enables log collection
## ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup
##
# logsEnabled: false
# logsConfigContainerCollectAll: false
## Un-comment this to enable APM and tracing, on port 8126
## ref: https://github.com/DataDog/docker-dd-agent#tracing-from-the-host
##
# apmEnabled: true
## Un-comment this to enable live process monitoring
## ref: https://docs.datadoghq.com/graphing/infrastructure/process/#kubernetes-daemonset
##
# processAgentEnabled: true
## The dd-agent supports many environment variables
## ref: https://github.com/DataDog/datadog-agent/tree/master/Dockerfiles/agent#environment-variables
##
# env:
# - name:
# value:
## The dd-agent supports detailed process and container monitoring and
## requires control over the volume and volumeMounts for the daemonset
## or deployment.
## ref: https://docs.datadoghq.com/guides/process/
##
# volumes:
# - hostPath:
# path: /etc/passwd
# name: passwd
# volumeMounts:
# - name: passwd
# mountPath: /etc/passwd
# readOnly: true
## Enable leader election mechanism for event collection
##
# leaderElection: false
## Set the lease time for leader election
##
# leaderLeaseDuration: 600
## Provide additional check configurations (static and Autodiscovery)
## Each key will become a file in /conf.d
## ref: https://github.com/DataDog/datadog-agent/tree/master/Dockerfiles/agent#optional-volumes
## ref: https://docs.datadoghq.com/agent/autodiscovery/
##
# confd:
# redisdb.yaml: |-
# init_config:
# instances:
# - host: "name"
# port: "6379"
# kubernetes_state.yaml: |-
# ad_identifiers:
# - kube-state-metrics
# init_config:
# instances:
# - kube_state_url: http://%%host%%:8080/metrics
## Provide additional custom checks as python code
## Each key will become a file in /checks.d
## ref: https://github.com/DataDog/datadog-agent/tree/master/Dockerfiles/agent#optional-volumes
##
# checksd:
# service.py: |-
## Path to the container runtime socket (if different from Docker)
## This is supported starting from agent 6.6.0
# criSocketPath: /var/run/containerd/containerd.sock
## Provide a mapping of Kubernetes Labels to Datadog Tags
# podLabelsAsTags:
# app: kube_app
# release: helm_release
## Provide a mapping of Kubernetes Annotations to Datadog Tags
# podAnnotationsAsTags:
# iam.amazonaws.com/role: kube_iamrole
## datadog-agent resource requests and limits
## Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class
## Ref: http://kubernetes.io/docs/user-guide/compute-resources/
##
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: 200m
memory: 256Mi
rbac:
## If true, create & use RBAC resources
create: true
## Ignored if rbac.create is true
serviceAccountName: default
tolerations: []
kube-state-metrics:
rbac:
create: true
## Ignored if rbac.create is true
serviceAccountName: default
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment