Overview
This check monitors Helm deployments through the Datadog Agent.
Helm supports multiple storage backends. In v3, Helm defaults to Kubernetes secrets and in v2, Helm defaults to ConfigMaps. This check supports both options.
Setup
Installation
The Helm check is included in the Datadog Agent package.
No additional installation is needed on your server.
Configuration
This is a cluster check. You can enable this check by adding datadog.helmCheck.enabled
to your Helm chart.
Note: If no configuration is required, an empty conf.d
can be passed.
For more information, see the Cluster Check documentation.
This is a cluster check. You can enable this check by adding spec.features.helmCheck.enabled
to your DatadogAgent
deployment configuration.
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
features:
helmCheck:
enabled: true
This is a cluster check. You can enable this check by providing a configuration file helm.yaml
to the cluster Agent in your DatadogAgent
deployment configuration.
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
[...]
override:
clusterAgent:
[...]
extraConfd:
configDataMap:
helm.yaml: |-
init_config:
instances:
- collect_events: false
This check requires additional permissions bound to the Kubernetes service account used by the cluster Agent pod to access the releases stored by Helm.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: datadog-helm-check
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: datadog-helm-check
subjects:
- kind: ServiceAccount
name: datadog-cluster-agent
namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: datadog-helm-check
rules:
- apiGroups:
- ""
resources:
- secrets
- configmaps
verbs:
- get
- list
- watch
Note: The ServiceAccount
subject is an example with the installation in the default
namespace. Adjust name
and namespace
in accordance with your deployment.
Validation
Run the Agent’s status subcommand and look for helm
under the Checks section.
Data Collected
Metrics
helm.release (gauge) | a Helm release |
Events
This check emits events when the collect_events
option is set to true
. The default is false
.
When the option is enabled, the check emits events when:
- A new release is deployed.
- A release is deleted.
- A release is upgraded (new revision).
- There’s a status change, for example from deployed to superseded.
Service Checks
helm.release_state
Returns CRITICAL
for a release when its latest revision is in failed state. Returns OK
otherwise.
Statuses: ok, critical
Troubleshooting
Need help? Contact Datadog support.
Further Reading
Additional helpful documentation, links, and articles: