Helm Check

Supported OS Linux Mac OS Windows

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: