github.com/GoogleCloudPlatform/terraformer@v0.8.18/tests/datadog/resources/dashboard.tf (about)

     1  resource "datadog_dashboard" "ordered_dashboard_example" {
     2    title         = "Ordered Layout Dashboard"
     3    description   = "Created using the Datadog provider in Terraform"
     4    layout_type   = "ordered"
     5    is_read_only  = true
     6  
     7    widget {
     8      alert_graph_definition {
     9        alert_id = "895605"
    10        viz_type = "timeseries"
    11        title = "Widget Title"
    12        time = {
    13          live_span = "1h"
    14        }
    15      }
    16    }
    17  
    18    widget {
    19      alert_value_definition {
    20        alert_id = "895605"
    21        precision = 3
    22        unit = "b"
    23        text_align = "center"
    24        title = "Widget Title"
    25      }
    26    }
    27  
    28    widget {
    29      alert_value_definition {
    30        alert_id = "895605"
    31        precision = 3
    32        unit = "b"
    33        text_align = "center"
    34        title = "Widget Title"
    35      }
    36    }
    37  
    38    widget {
    39      change_definition {
    40        request {
    41          q = "avg:system.load.1{env:staging} by {account}"
    42          change_type = "absolute"
    43          compare_to = "week_before"
    44          increase_good = true
    45          order_by = "name"
    46          order_dir = "desc"
    47          show_present = true
    48        }
    49        title = "Widget Title"
    50        time = {
    51          live_span = "1h"
    52        }
    53      }
    54    }
    55  
    56    widget {
    57      distribution_definition {
    58        request {
    59          q = "avg:system.load.1{env:staging} by {account}"
    60          style {
    61            palette = "warm"
    62          }
    63        }
    64        title = "Widget Title"
    65        time = {
    66          live_span = "1h"
    67        }
    68      }
    69    }
    70  
    71    widget {
    72      check_status_definition {
    73        check = "aws.ecs.agent_connected"
    74        grouping = "cluster"
    75        group_by = ["account", "cluster"]
    76        tags = ["account:demo", "cluster:awseb-ruthebdog-env-8-dn3m6u3gvk"]
    77        title = "Widget Title"
    78        time = {
    79          live_span = "1h"
    80        }
    81      }
    82    }
    83  
    84    widget {
    85      heatmap_definition {
    86        request {
    87          q = "avg:system.load.1{env:staging} by {account}"
    88          style {
    89            palette = "warm"
    90          }
    91        }
    92        yaxis {
    93          min = 1
    94          max = 2
    95          include_zero = true
    96          scale = "sqrt"
    97        }
    98        title = "Widget Title"
    99        time = {
   100          live_span = "1h"
   101        }
   102      }
   103    }
   104  
   105    widget {
   106      hostmap_definition {
   107        request {
   108          fill {
   109            q = "avg:system.load.1{*} by {host}"
   110          }
   111          size {
   112            q = "avg:memcache.uptime{*} by {host}"
   113          }
   114        }
   115        node_type= "container"
   116        group = ["host", "region"]
   117        no_group_hosts = true
   118        no_metric_hosts = true
   119        scope = ["region:us-east-1", "aws_account:727006795293"]
   120        style {
   121          palette = "yellow_to_green"
   122          palette_flip = true
   123          fill_min = "10"
   124          fill_max = "20"
   125        }
   126        title = "Widget Title"
   127      }
   128    }
   129  
   130    widget {
   131      note_definition {
   132        content = "note text"
   133        background_color = "pink"
   134        font_size = "14"
   135        text_align = "center"
   136        show_tick = true
   137        tick_edge = "left"
   138        tick_pos = "50%"
   139      }
   140    }
   141  
   142    widget {
   143      query_value_definition {
   144        request {
   145          q = "avg:system.load.1{env:staging} by {account}"
   146          aggregator = "sum"
   147          conditional_formats {
   148            comparator = "<"
   149            value = "2"
   150            palette = "white_on_green"
   151          }
   152          conditional_formats {
   153            comparator = ">"
   154            value = "2.2"
   155            palette = "white_on_red"
   156          }
   157        }
   158        autoscale = true
   159        custom_unit = "xx"
   160        precision = "4"
   161        text_align = "right"
   162        title = "Widget Title"
   163        time = {
   164          live_span = "1h"
   165        }
   166      }
   167    }
   168  
   169    widget {
   170      query_table_definition {
   171        request {
   172          q = "avg:system.load.1{env:staging} by {account}"
   173          aggregator = "sum"
   174          limit = "10"
   175          conditional_formats {
   176            comparator = "<"
   177            value = "2"
   178            palette = "white_on_green"
   179          }
   180          conditional_formats {
   181            comparator = ">"
   182            value = "2.2"
   183            palette = "white_on_red"
   184          }
   185        }
   186        title = "Widget Title"
   187        time = {
   188          live_span = "1h"
   189        }
   190      }
   191    }
   192  
   193    widget {
   194      scatterplot_definition {
   195        request {
   196          x {
   197            q = "avg:system.cpu.user{*} by {service, account}"
   198            aggregator = "max"
   199          }
   200          y {
   201            q = "avg:system.mem.used{*} by {service, account}"
   202            aggregator = "min"
   203          }
   204        }
   205        color_by_groups = ["account", "apm-role-group"]
   206        xaxis {
   207          include_zero = true
   208          label = "x"
   209          min = "1"
   210          max = "2000"
   211          scale = "pow"
   212        }
   213        yaxis {
   214          include_zero = false
   215          label = "y"
   216          min = "5"
   217          max = "2222"
   218          scale = "log"
   219        }
   220        title = "Widget Title"
   221        time = {
   222          live_span = "1h"
   223        }
   224      }
   225    }
   226  
   227    widget {
   228      servicemap_definition {
   229        service = "master-db"
   230        filters = ["env:prod","datacenter:us1.prod.dog"]
   231        title = "env: prod, datacenter:us1.prod.dog, service: master-db"
   232        title_size = "16"
   233        title_align = "left"
   234      }
   235      layout = {
   236        height = 43
   237        width = 32
   238        x = 5
   239        y = 5
   240      }
   241    }
   242  
   243    widget {
   244      timeseries_definition {
   245        request {
   246          q= "avg:system.cpu.user{app:general} by {env}"
   247          display_type = "line"
   248          style {
   249            palette = "warm"
   250            line_type = "dashed"
   251            line_width = "thin"
   252          }
   253          metadata {
   254            expression = "avg:system.cpu.user{app:general} by {env}"
   255            alias_name = "Alpha"
   256          }
   257        }
   258        request {
   259          log_query {
   260            index = "mcnulty"
   261            compute = {
   262              aggregation = "avg"
   263              facet = "@duration"
   264              interval = 5000
   265            }
   266            search = {
   267              query = "status:info"
   268            }
   269            group_by {
   270              facet = "host"
   271              limit = 10
   272              sort = {
   273                aggregation = "avg"
   274                order = "desc"
   275                facet = "@duration"
   276              }
   277            }
   278          }
   279          display_type = "area"
   280        }
   281        request {
   282          apm_query {
   283            index = "apm-search"
   284            compute = {
   285              aggregation = "avg"
   286              facet = "@duration"
   287              interval = 5000
   288            }
   289            search = {
   290              query = "type:web"
   291            }
   292            group_by {
   293              facet = "resource_name"
   294              limit = 50
   295              sort = {
   296                aggregation = "avg"
   297                order = "desc"
   298                facet = "@string_query.interval"
   299              }
   300            }
   301          }
   302          display_type = "bars"
   303        }
   304        request {
   305          process_query {
   306            metric = "process.stat.cpu.total_pct"
   307            search_by = "error"
   308            filter_by = ["active"]
   309            limit = 50
   310          }
   311          display_type = "area"
   312        }
   313        marker {
   314          display_type = "error dashed"
   315          label = " z=6 "
   316          value = "y = 4"
   317        }
   318        marker {
   319          display_type = "ok solid"
   320          value = "10 < y < 999"
   321          label = " x=8 "
   322        }
   323        title = "Widget Title"
   324        show_legend = true
   325        legend_size = "2"
   326        time = {
   327          live_span = "1h"
   328        }
   329        event {
   330          q = "sources:test tags:1"
   331        }
   332        event {
   333          q = "sources:test tags:2"
   334        }
   335        yaxis {
   336          scale = "log"
   337          include_zero = false
   338          max = 100
   339        }
   340      }
   341    }
   342  
   343    widget {
   344      toplist_definition {
   345        request {
   346          q= "avg:system.cpu.user{app:general} by {env}"
   347          conditional_formats {
   348            comparator = "<"
   349            value = "2"
   350            palette = "white_on_green"
   351          }
   352          conditional_formats {
   353            comparator = ">"
   354            value = "2.2"
   355            palette = "white_on_red"
   356          }
   357        }
   358        title = "Widget Title"
   359      }
   360    }
   361  
   362    widget {
   363      group_definition {
   364        layout_type = "ordered"
   365        title = "Group Widget"
   366  
   367        widget {
   368          note_definition {
   369            content = "cluster note widget"
   370            background_color = "pink"
   371            font_size = "14"
   372            text_align = "center"
   373            show_tick = true
   374            tick_edge = "left"
   375            tick_pos = "50%"
   376          }
   377        }
   378  
   379        widget {
   380          alert_graph_definition {
   381            alert_id = "123"
   382            viz_type = "toplist"
   383            title = "Alert Graph"
   384            time = {
   385              live_span = "1h"
   386            }
   387          }
   388        }
   389      }
   390    }
   391  
   392    widget {
   393      service_level_objective_definition {
   394        title = "Widget Title"
   395        view_type = "detail"
   396        slo_id = "56789"
   397        show_error_budget = true
   398        view_mode = "overall"
   399        time_windows = ["7d", "previous_week"]
   400      }
   401    }
   402  
   403    template_variable {
   404      name   = "var_1"
   405      prefix = "host"
   406      default = "aws"
   407    }
   408    template_variable {
   409      name   = "var_2"
   410      prefix = "service_name"
   411      default = "autoscaling"
   412    }
   413  
   414    template_variable_preset {
   415      name = "preset_1"
   416      template_variable {
   417        name = "var_1"
   418        value = "host.dc"
   419      }
   420      template_variable {
   421        name = "var_2"
   422        value = "my_service"
   423      }
   424    }
   425  }
   426  
   427  resource "datadog_dashboard" "free_dashboard_example" {
   428    title         = "Free Layout Dashboard"
   429    description   = "Created using the Datadog provider in Terraform"
   430    layout_type   = "free"
   431    is_read_only  = false
   432  
   433    widget {
   434      event_stream_definition {
   435        query = "*"
   436        event_size = "l"
   437        title = "Widget Title"
   438        title_size = 16
   439        title_align = "left"
   440        time = {
   441          live_span = "1h"
   442        }
   443      }
   444      layout = {
   445        height = 43
   446        width = 32
   447        x = 5
   448        y = 5
   449      }
   450    }
   451  
   452    widget {
   453      event_timeline_definition {
   454        query = "*"
   455        title = "Widget Title"
   456        title_size = 16
   457        title_align = "left"
   458        time = {
   459          live_span = "1h"
   460        }
   461      }
   462      layout = {
   463        height = 9
   464        width = 65
   465        x = 42
   466        y = 73
   467      }
   468    }
   469  
   470    widget {
   471      free_text_definition {
   472        text = "free text content"
   473        color = "#d00"
   474        font_size = "88"
   475        text_align = "left"
   476      }
   477      layout = {
   478        height = 20
   479        width = 30
   480        x = 42
   481        y = 5
   482      }
   483    }
   484  
   485    widget {
   486      iframe_definition {
   487        url = "http://google.com"
   488      }
   489      layout = {
   490        height = 46
   491        width = 39
   492        x = 111
   493        y = 8
   494      }
   495    }
   496  
   497    widget {
   498      image_definition {
   499        url = "https://images.pexels.com/photos/67636/rose-blue-flower-rose-blooms-67636.jpeg?auto=compress&cs=tinysrgb&h=350"
   500        sizing = "fit"
   501        margin = "small"
   502      }
   503      layout = {
   504        height = 20
   505        width = 30
   506        x = 77
   507        y = 7
   508      }
   509    }
   510  
   511    widget {
   512      log_stream_definition {
   513        indexes = ["main"]
   514        query = "error"
   515        columns = ["core_host", "core_service", "tag_source"]
   516        show_date_column = true
   517        show_message_column = true
   518        message_display = "expanded-md"
   519        sort {
   520          column = "time"
   521          order = "desc"
   522        }
   523      }
   524      layout = {
   525        height = 36
   526        width = 32
   527        x = 5
   528        y = 51
   529      }
   530    }
   531  
   532    widget {
   533      manage_status_definition {
   534        color_preference = "text"
   535        display_format = "countsAndList"
   536        hide_zero_counts = true
   537        query = "type:metric"
   538        show_last_triggered = false
   539        sort = "status,asc"
   540        summary_type = "monitors"
   541        title = "Widget Title"
   542        title_size = 16
   543        title_align = "left"
   544      }
   545      layout = {
   546        height = 40
   547        width = 30
   548        x = 112
   549        y = 55
   550      }
   551    }
   552  
   553    widget {
   554      trace_service_definition {
   555        display_format = "three_column"
   556        env = "datad0g.com"
   557        service = "alerting-cassandra"
   558        show_breakdown = true
   559        show_distribution = true
   560        show_errors = true
   561        show_hits = true
   562        show_latency = false
   563        show_resource_list = false
   564        size_format = "large"
   565        span_name = "cassandra.query"
   566        title = "alerting-cassandra #env:datad0g.com"
   567        title_align = "center"
   568        title_size = "13"
   569        time = {
   570          live_span = "1h"
   571        }
   572      }
   573      layout = {
   574        height = 38
   575        width = 67
   576        x = 40
   577        y = 28
   578      }
   579    }
   580  
   581    template_variable {
   582      name   = "var_1"
   583      prefix = "host"
   584      default = "aws"
   585    }
   586    template_variable {
   587      name   = "var_2"
   588      prefix = "service_name"
   589      default = "autoscaling"
   590    }
   591  
   592    template_variable_preset {
   593      name = "preset_1"
   594      template_variable {
   595        name = "var_1"
   596        value = "host.dc"
   597      }
   598      template_variable {
   599        name = "var_2"
   600        value = "my_service"
   601      }
   602    }
   603  }