Skip to content

Instantly share code, notes, and snippets.

@hongmengwang
Last active September 4, 2018 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hongmengwang/23bd8b9282b7731154ade8f520d66996 to your computer and use it in GitHub Desktop.
Save hongmengwang/23bd8b9282b7731154ade8f520d66996 to your computer and use it in GitHub Desktop.
image:
# This chart is compatible with different images, please choose one
repository: datadog/agent # Agent6
# repository: datadog/dogstatsd # Standalone DogStatsD6
tag: latest # Use 6.3.2-jmx to enable jmx fetch collection
pullPolicy: Always
## 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:
- key: node-role.kubernetes.io/master
effect: NoSchedule
## 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
# 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
## deploy the kube-state-metrics deployment
## ref: https://github.com/kubernetes/charts/tree/master/stable/kube-state-metrics
##
# service:
# type: LoadBalancer
# annotations: {}
kubeStateMetrics:
enabled: true
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: <API Key>
## Use existing Secret which stores API key instead of creating a new one
# apiKeyExistingSecret:
## dd-agent container name
##
name: dd-agent
## 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: WARNING
## Un-comment this to make each node accept non-local statsd traffic.
## ref: https://github.com/DataDog/docker-dd-agent#environment-variables
##
nonLocalTraffic: true
## Set host tags.
## ref: https://github.com/DataDog/docker-dd-agent#environment-variables
##
tags:
env: dev
## Enables event collection from the kubernetes API
## ref: https://github.com/DataDog/docker-dd-agent#environment-variables
##
collectEvents: true
## Enables log collection
## ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup
##
logsEnabled: true
logsConfigContainerCollectAll: true
## 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
## The dd-agent supports many environment variables
## ref: https://github.com/DataDog/datadog-agent/tree/master/Dockerfiles/agent#environment-variables
##
env:
- name: DD_PROXY_HTTP
value: <Internal Http Proxy>
- name: DD_PROXY_HTTPS
value: <Internal Http Proxy>
- name: DD_PROCESS_AGENT_ENABLED
value: "true"
## 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: true
## 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: |-
## 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