To deploy a Datadog monitor, you can use the Datadog Operator and DatadogMonitor custom resource definition (CRD).

Prerequisites

Setup

  1. Create a file with the spec of your DatadogMonitor deployment configuration.

    Example:

    The following example spec creates a metric monitor that alerts on the query avg(last_10m):avg:system.disk.in_use{*} by {host} > 0.5.

    datadog-metric-monitor.yaml

       apiVersion: datadoghq.com/v1alpha1
       kind: DatadogDashboard
       metadata:
         name: example-dashboard
       spec:
         title: Test Dashboard
         layoutType: ordered
         tags:
           - "team:my_team"
         templateVariables:
           - availableValues:
               - host1
               - host2
               - host3
             name: first
             prefix: bar-foo
         notifyList:
           - foobar@example.com
         widgets: '[{
                   "id": 2639892738901474,
                   "definition": {
                       "title": "",
                       "title_size": "16",
                       "title_align": "left",
                       "show_legend": true,
                       "legend_layout": "auto",
                       "legend_columns": [
                           "avg",
                           "min",
                           "max",
                           "value",
                           "sum"
                       ],
                       "type": "timeseries",
                       "requests": [
                           {
                               "formulas": [
                                   {
                                       "formula": "query1"
                                   }
                               ],
                               "queries": [
                                   {
                                       "name": "query1",
                                       "data_source": "metrics",
                                       "query": "avg:system.cpu.user{*} by {host}"
                                   }
                               ],
                               "response_format": "timeseries",
                               "style": {
                                   "palette": "dog_classic",
                                   "order_by": "values",
                                   "line_type": "solid",
                                   "line_width": "normal"
                               },
                               "display_type": "line"
                           }
                       ]
                   },
                   "layout": {
                       "x": 0,
                       "y": 0,
                       "width": 4,
                       "height": 2
                   }
                }]'
       

    For all available configuration options, see the Create a new dashboard API reference.

  2. Deploy your DatadogMonitor:

    kubectl apply -f /path/to/your/datadog-metric-monitor.yaml
    

Additional examples

Metric monitors

Other monitors